Skip to content

Correct library dependency name in metadata #279

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 6, 2021
Merged

Correct library dependency name in metadata #279

merged 1 commit into from
Oct 6, 2021

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Oct 6, 2021

The depends field of the library.properties metadata file can be used to provide a list of library dependencies that should be installed in addition during a Library Manager installation. The library names must match exactly to the name value in the dependency's library.properties metadata file, which is the unique identifier used by Library Manager.

The name of the "Adafruit SleepyDog Library" is just like that, but an incorrect name "Adafruit_SleepyDog" was used instead when attempting to add it to the dependencies list. This resulted in the following:

  • Classic Arduino IDE: the incorrect name was ignored and the dependency not installed
  • Arduino IDE 2.x: installation of the ArduinoIoTCloud library fails silently
  • Arduino CLI: installation of the ArduinoIoTCloud library fails with "Error installing ArduinoIoTCloud: No valid dependencies solution found: dependency 'Adafruit_SleepyDog' is not available"
  • Arduino Create/Cloud: no effect because all Library Manager libraries are pre-installed and thus the depends field is not used

The `depends` field of the library.properties metadata file can be used to provide a list of library dependencies that should be installed in addition during a Library Manager installation. The library names must match exactly to the `name` value in the dependency's library.properties metadata file, which is the unique identifier used by Library Manager.

The name of the "Adafruit SleepyDog Library" is just like that, but an incorrect name "Adafruit_SleepyDog" was used instead. This resulted in the following:

- Classic Arduino IDE: the incorrect name was ignored and the dependency not installed
- Arduino IDE 2.x: installation of the ArduinoIoTCloud library fails silently
- Arduino CLI: installation of the ArduinoIoTCloud library fails with "Error installing ArduinoIoTCloud: No valid dependencies solution found: dependency 'Adafruit_SleepyDog' is not available"
@per1234 per1234 added the type: imperfection Perceived defect in any part of project label Oct 6, 2021
@per1234 per1234 requested review from aentinger and pennam October 6, 2021 05:24
Copy link
Contributor

@aentinger aentinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great catch, thank you very much for the fix @per1234 🚀

@aentinger aentinger merged commit d76e5c3 into arduino-libraries:master Oct 6, 2021
@pennam
Copy link
Collaborator

pennam commented Oct 6, 2021

👍 I think i will now make a new release.

@aentinger
Copy link
Contributor

Go for it 🥳

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants