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.
Refactor CLI option handling to use Click. This introduces subcommands - optional pieces of additional functionality to make the Sync Tool more useful as a standalone application.
Specifically, this update implements the following subcommands:
These are invoked in this manner -
e.g.
sync is the default command, so if no command is specified, the tool will still run user sync. This is necessary for maintaining backwards compatibility.
This update depends on the resource manager (see #481). I've merged changes from
feature/resource-manager
to the click branch.Build Updates
.build/pre_build.py
for bundling dynamic resources to theresources
package. The example configs are bundled here because they should not be committed to source control (since they are already committed in the top-levelexamples
directory)setup.py
to findresources
package and ensure that resources are included in the pex file (via thepackage_data
parameter tosetup()
)pre_build.py
before building the pex fileAdditional Notes
ConfigLoader.load_invocation_options()
was cleaned up. It now applies CLI option overrides in a single pass, eliminating the need to resolve each override individually for each CLI option. This changes the way that certain conflicting options are resolved - in a couple of cases, it will decide which option to override and continue processing options, where previously it would throw an exception. It will log messages in these cases.