Modify Bootstrap API to provide access to the console, logger, and overrides #2114
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Briefcase's Bootstrap interface provides a mechanism for projects to define code and configuration items that describe certain "starting states" for a project. The intention is that GUI frameworks would provide bootstraps for "getting started" apps.
However, in the process of actually trying to use the bootstrap interface to resolve #1288, the interface exposed is not actually as useful as intended. Although the
extra_context()
entry point is documented as "This is where you could ask additional questions", there's no way to access any of Briefcase's console handling or logging, nor is there any way to access overrides that have been specified at the command line.This PR modifies the API for boostraps to provide access to these tools.
Although this modifies the API for bootstraps in a way that is strictly backwards incompatible, the changes don't impact the automation bootstraps, or the two known bootstraps that are in the wild:
If there are any others, the changes required are very minor.
PR Checklist: