Skip to content
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

Make it possible to install libraries by name #414

Closed
FWeinb opened this issue Dec 29, 2015 · 5 comments
Closed

Make it possible to install libraries by name #414

FWeinb opened this issue Dec 29, 2015 · 5 comments
Assignees
Labels
feature ldf Library Dependency Finder
Milestone

Comments

@FWeinb
Copy link

FWeinb commented Dec 29, 2015

It would be much easier to just install a library by name instead of a cryptic id number. And having names in the platformio.ini would also improve readability.

@ivankravets
Copy link
Member

ivankravets commented Dec 29, 2015

I don't remember where I've written an answer for this question. The problem here is that PlatformIO Library Registry can contain more than one library with the same name. For example, it can have different WiFi libraries per platforms.

As for the solution, need to allow to install library by name but when more than libs are found, then ask user which lib to install. Or use like WiFi#13, where is 100% link to lib by ID.

Also, you have requested #410 . In this case it might look like WiFi#13@~0.13.2. The format will be discussed.

@ivankravets ivankravets self-assigned this Dec 29, 2015
@ivankravets ivankravets added this to the 3.0.0 milestone Dec 29, 2015
@FWeinb
Copy link
Author

FWeinb commented Dec 29, 2015

Can it be guaranteed that the combination of platform + libraryname is unique? If that is the case, the package manager could derive the platform from the platformio.ini and try to search for the specific package. How is this currently handled, can a project using board=uno and board=esp01 depend on a library that only support the uno?

@ivankravets
Copy link
Member

Can it be guaranteed that the combination of platform + libraryname is unique?

This is not PlatformIO guaranty. The owner of the lib specifies which frameworks and platforms are supported. Currently, there are no any checks for compatibility. PlatformIO builds all that user asks. See #415

@ivankravets ivankravets added ldf Library Dependency Finder feature and removed feature labels Dec 29, 2015
@ivankravets ivankravets mentioned this issue Jan 1, 2016
37 tasks
@jasonmhite
Copy link

The problem here is that PlatformIO Library Registry can contain more than one library with the same name. For example, it can have different WiFi libraries per platforms.

Wouldn't it make sense to ask for a particular selection if there are multiple options that match a given name? Something like "there are multiple libraries that match the name , choes one of: 1. foo1 2. foo2 3. foo3"? Similarly, when building with platformio run, if it runs into a conflict then it can pause and ask for the proper choice and simply remember that in the future, perhaps by writing to platformio.ini.

@ivankravets
Copy link
Member

@jasonmhite this is feature issue, I'll implement it.

ivankravets added a commit that referenced this issue Sep 9, 2016
* develop:
  Fix incorrect line order when converting from INO to CPP and pointer is used
  Fix unit test
  Notify about `version` field when creating library
  Add support for SparkFun Blynk Board
  Return valid exit code from ``plaformio test`` command
  Disable SSL Server-Name-Indication for Python < 2.7.9
  Version bump to 3.0.1 (issue #772)
  Disable temporary SSL for PlatformIO services // Resolve #772
  Version bump to 3.0.0 (issues #770, #766, #747, #730, #765, #640, #659, #742, #459, #542, #763, #759, #753, #757, #749, #748, #745, #519, #709, #743, #413, #498, #410, #740, #361, #414, #554, #732, #588, #475, #461, #101, #719, #721, #537, #415, #522, #289, #556, #570, #456, #617, #432, #408, #479, #667, #510)
  Fix menu height for  docs
  Fix issue with multiple archives when linking firmware
  Add migration guide for PIO2 to PIO3
  Search libraries by headers/includes with ``platformio lib search --header`` option
  Update pio run command examples
  Add Unit Testing Demo
  Update PIO Plus badge title and link
  Add PlatformIO Plus badge
  Add links to PlatformIO Plus
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature ldf Library Dependency Finder
Projects
None yet
Development

No branches or pull requests

3 participants