I have a few questions about the new library manager:
###1. What is the difference / pros / cons of referencing the full git path rather than the Pio lib name or number e.g.
I.e Do all the following do the same thing?
lib_deps = JeeLib
vs. lib_deps = https://github.com/jcw/jeelib.git
vs. lib_deps = 252
I would quite like to use the full git path sine this makes it clear where the lib is originating from. Would I be missing out on any Pio lib manager features by doing this?
2. Where do the git SHA’s used by Pio come from?
LibraryManager: Installing jeelib @ c057b5f
git version 1.9.1
Cloning into '/home/glyn/Downloads/dev/emonpi/firmware/.piolibdeps/installing-SVBcJg-package'...
fatal: unable to access 'https://github.com/jcw/jeelib.git@c057b5f/': The requested URL returned error: 400
and Pio fails with exit status 12.
I’ve tried using your example library and get the same result e.g.
LibraryManager: Installing PJON @ v2.0
git version 1.9.1
Cloning into '/home/glyn/Downloads/dev/emonpi/firmware/.piolibdeps/installing-sVmec7-package'...
fatal: unable to access 'https://github.com/gioblu/PJON.git@v2.0/': The requested URL returned error: 400
1. What is the difference / pros / cons of referencing the full git path rather than the Pio lib name or number e.g.
lib_deps = JeeLib
“+” Install prepared (cleaned, only source code, small size) library by name
“-” An additional request to PlatformIO API to get real Library ID
“-” May cause conflict when more than one library has the same name
lib_deps = 252
“+” Optimized way (from PlatformIO Core view) to install prepared library. Using Library ID we can directly get valid DL path to lib archive
“+” 100% guarantee that specified library that you see in Library Registry will be installed. If we receive tomorrow 10 libs with the same name, the lib 252 will be installed without any conflicts.
“+” No need to bother when “JeeLib” will be renamed to “JeeLibrary” or etc. All time you refer to library with number 252
“-” No readable However, the comments can help, for example
“+” You manually control the source code of the library
“-” VCS client should be installed
“-” Huge amount of data will be transferred. If comparison with PlatformIO Library Registry, the Library Crawler exports only source code from the library. In this case, library will have a size ~10-30Kb. We keep own library archives per each version in own Library Storage.
“-” Semantic versioning doesn’t work. You are responsible manually control which branch, tag or commit to use.
2. Where do the git SHA’s used by Pio come from?