[BuildStream] Subproject fetching



Hi all,

Junctions require access to subprojects during the project and element
loading process. If the junction sources are not available yet,
fetching is required, before the main pipeline is starting.

There is currently an inconsistency in when we fetch subprojects and
when we report an error message, telling the user to manually fetch the
subproject. We currently implicitly fetch subprojects for all `bst`
commands as part of include processing (include directives that use
junctions), however, we report an error for at least `bst show` when
uncached junctions are encountered during element loading.

Today on IRC we've come to the conclusion that we should treat junction
sources the same as sources of any other element and implicitly fetch
as needed, independent of the command.

Users can still disable fetching with `--fetchers 0` and we should
ensure this works for sources of junctions as well as other elements.
There is likely some work required to improve the user experience when
using `--fetchers 0` and some sources are not cached yet.

Unless there are any objections in the next few days, I'll move forward
and fetch subprojects as needed for all commands.

As a side-note, the plan is also to use the scheduler to fetch
subprojects, instead of ad-hoc fetching in the main process.

Cheers,
Jürg



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]