-
-
Notifications
You must be signed in to change notification settings - Fork 801
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
Depend on a specific version of a library #413
Comments
TODO: add new lib_deps =
%LIB_NAME%@%semiver1%,%semiver2%,%semiverN%
id=%LIB_ID%@%semiver1%,%semiver2%,%semiverN%
https://github.com/author/project.git
https://github.com/author/project.git@tag
https://github.com/author/project.git@commit For example, lib_deps =
Json@^1.0.0
id=64@>=1.0.0,<2.0.0,!=1.5.7
https://github.com/gioblu/PJON.git
https://github.com/gioblu/[email protected] @marvinroger, @FWeinb WDYT? |
Currently all libs will be installed in http://docs.platformio.org/en/latest/projectconf.html#lib-dir. What I should do when 2 projects require the same libs with different |
Maybe you could store libs by library and version. I mean:
What's the benefit of storing the library in the project folder? I can't find any. But storing it globally avoids to download multiple copies of the same library (ArduinoJson for example will probably be used in multiple projects). |
Plus, we would have to |
Done! #413 (comment)
npm uses this scheme. Oh... How much work need to do with it. Yes, this scheme is the best from all views. Because project's lib was intended for private/specific libraries |
Please make sure to add ability for requiring dev versions as well (both for libraries and platforms ;) |
Please re-test the latest development version. Docs: http://docs.platformio.org/en/latest/projectconf.html#lib-deps |
I'm a little bit lost as to how Some more details for the docs would be highly appreciated. |
I'll write "Migration" section in the docs later.
lib_install = 1, 2, 3
lib_deps =
1
2
3
# or even
lib_deps =
id=1
id=2
id=3
The short version for GitHub repo is lib_deps = me-no-dev/ESPAsyncTCP |
Really off-topic now, but is it also possible to use dev version of a platform (use case is espressif here)? |
The same is with development platforms. They are moved to separate repositories. See https://github.com/platformio/platform-espressif pio platform install https://github.com/platformio/platform-espressif.git |
* 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
Resolved
This is probably related to #410. To support reproducible builds and work on projects that depend on the same library but a different version it would be best to support a way of installing library with the Project and not as a global package of platformio. To get this working one has to define a version range in addition to the library in lib_install.
The text was updated successfully, but these errors were encountered: