Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

lib list/core list might list the library/platform versions in a non-semver compliant way #1727

Closed
Assignees
Labels
topic: codeRelated to content of the project itself type: imperfectionPerceived defect in any part of project
@kittaakos

Description

Bug Report

Library authors can use a relaxed-semver. For example, 1.0 is OK. If such a library is installed, lib list will return with the 1.0 version, which is not a valid semver. Hence the library install will fail with this version.

Current behavior

Steps to reproduce:

% rm -rf ~/Documents/Arduino && rm -rf ~/Library/Arduino15
% ./arduino-cli version --format json
{
 "Application": "arduino-cli",
 "VersionString": "0.22.0",
 "Commit": "65f662a7",
 "Status": "",
 "Date": "2022-05-06T11:09:35Z"
}
% ./arduino-cli lib list --format json 
[]
% ./arduino-cli lib install "ILI9341_t3"@1.0.0 --format json
% ./arduino-cli lib list --format json 
[
 {
 "library": {
 "name": "ILI9341_t3",
 "author": "Limor Fried, Adafruit, Paul Stoffregen",
 "maintainer": "Paul Stoffregen",
 "sentence": "Optimized ILI9341 (320x240 Color TFT) Display",
 "website": "https://github.com/PaulStoffregen/ILI9341_t3",
 "category": "Display",
 "architectures": [
 "*"
 ],
 "install_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
 "source_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
 "real_name": "ILI9341_t3",
 "version": "1.0",
 "license": "Unspecified",
 "location": 1,
 "examples": [
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/breakouttouchpaint",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/graphicstest",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton_breakout",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/spitftbitmap",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/touchpaint"
 ],
 "provides_includes": [
 "ILI9341_t3.h"
 ]
 }
 }
]
% rm -rf ~/Documents/Arduino && rm -rf ~/Library/Arduino15 
% ./arduino-cli lib list --format json 
[]
% ./arduino-cli lib install "ILI9341_t3"@1.0 --format json 
Error installing ILI9341_t3: Library 'ILI9341_t3@1.0' not found
% 

Expected behavior

In this particular case, the lib list should return with such a JSON:

[
 {
 "library": {
 "name": "ILI9341_t3",
 "author": "Limor Fried, Adafruit, Paul Stoffregen",
 "maintainer": "Paul Stoffregen",
 "sentence": "Optimized ILI9341 (320x240 Color TFT) Display",
 "website": "https://github.com/PaulStoffregen/ILI9341_t3",
 "category": "Display",
 "architectures": [
 "*"
 ],
 "install_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
 "source_dir": "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3",
 "real_name": "ILI9341_t3",
 "version": "1.0.0", // <---- return with `1.0.0` instead of `1.0`
 "license": "Unspecified",
 "location": 1,
 "examples": [
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/breakouttouchpaint",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/graphicstest",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/onoffbutton_breakout",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/spitftbitmap",
 "/Users/a.kitta/Documents/Arduino/libraries/ILI9341_t3/examples/touchpaint"
 ],
 "provides_includes": [
 "ILI9341_t3.h"
 ]
 }
 }
]

The lib list should result in a valid semver version.

Pipe-dream:
lib install should handle relaxed-semvers gracefully, and lib install "ILI9341_t3"@1.0 should succeed.

Environment

  • CLI version (output of arduino-cli version): arduino-cli Version: 0.22.0 Commit: 65f662a7 Date: 2022年05月06日T11:09:35Z
  • OS and platform: macOS 12.3.1 (21E258)

Additional context

Metadata

Metadata

Assignees

Labels

topic: codeRelated to content of the project itself type: imperfectionPerceived defect in any part of project

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    AltStyle によって変換されたページ (->オリジナル) /