Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upLibrary manager: dependency resolver (take 2) #8600
Conversation
cmaglie
self-assigned this
Mar 4, 2019
cmaglie
force-pushed the
cmaglie:lib-deps-dialog-2
branch
from
e5427a5
to
1f727d3
Mar 14, 2019
arduino
deleted a comment from
ArduinoBot
Mar 14, 2019
This comment has been minimized.
This comment has been minimized.
facchinm
added this to the Release 1.8.10 milestone
Apr 18, 2019
This comment has been minimized.
This comment has been minimized.
CornyjK
commented
Apr 21, 2019
•
@cmaglie |
cmaglie
added some commits
Jan 25, 2017
cmaglie
force-pushed the
cmaglie:lib-deps-dialog-2
branch
from
1f727d3
to
4268ce9
Jul 15, 2019
arduino
deleted a comment from
ArduinoBot
Jul 15, 2019
This comment has been minimized.
This comment has been minimized.
Please test this code using one of the following:
|
cmaglie commentedMar 4, 2019
Second attempt to solve #5795.
This PR updates #6004 and replace it.
The dependency tree is read from the
library_index.json
, downloaded fromarduino.cc
, this json is build from the information contained in thelibrary.properties
of each library so, to complete this PR, we should add a field in thelibrary.properties
to explicitly specify dependencies.In this PR the dependent libraries are handled without versions constraints, this will be added in a future development.
The latest commit has been added for testing purposes and it will be removed before merging this PR: it disables the automatic download of
library_index.json
and reads the index fromlibrary_index_test.json
, this way we can test this PR by providing a fakelibrary_index_test.json
.This is the index that I used for testing: library_index_test.zip that contains a modified fake entry:
and this is the dialog that appears when we try to install "ArduinoCloud":
(of course ArduinoCloud doesn't need ArduinoSound, this is just for testing multiple dependencies)
This PR requires a change in the library indexer (to report
requires
field inlibrary_index.json
) that is begin done right now.