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

Comments

Projects
None yet
3 participants
@FWeinb

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 ivankravets added the feature label Dec 29, 2015

@ivankravets

This comment has been minimized.

Show comment
Hide comment
@ivankravets

ivankravets Dec 29, 2015

Member

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.

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

This comment has been minimized.

Show comment
Hide comment
@FWeinb

FWeinb 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?

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

This comment has been minimized.

Show comment
Hide comment
@ivankravets

ivankravets Dec 29, 2015

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

Member

ivankravets commented Dec 29, 2015

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 lib feature and removed feature labels Dec 29, 2015

@ivankravets ivankravets referenced this issue Jan 1, 2016

Closed

PlatformIO 3.0 Roadmap #423

28 of 37 tasks complete
@jasonmhite

This comment has been minimized.

Show comment
Hide comment
@jasonmhite

jasonmhite Jan 26, 2016

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.

jasonmhite commented Jan 26, 2016

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

This comment has been minimized.

Show comment
Hide comment
@ivankravets

ivankravets Jan 26, 2016

Member

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

Member

ivankravets commented Jan 26, 2016

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

ivankravets added a commit that referenced this issue Sep 9, 2016

Merge branch 'develop' into feature/unicode-issue-771
* 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