<#211 Feat/add pact cli> Pull request opened by <Y...
# pact-ruby-standalone
g
#211 Feat/add pact cli Pull request opened by YOU54F This introduces the following breaking changes, with ways to preserve existing behaviour. TL;DR - All pact rust functionality is now is a single binary
pact
. All commands will route to this binary, unless
PACT_CLI_LEGACY
env var is set, in which case, existing behaviour is preserved. all available functionality available exposed when
PACT_CLI_LEGACY
is set, will be removed in a major version bump changes ./pact/bin/ ├── pact (single binary with all pact rust functionality) ├── pact-broker (legacy) - use
pact broker
├── pactflow (legacy) - use
pact pactflow
├── pact-message (legacy) - use
pact mock
(consumer) /
pact verifier
(provider) ├── pact-mock-service (legacy) - use
pact mock
├── pact-provider-verifier (legacy) - use
pact verifier
└── pact-stub-service (legacy) - use
pact stub
• (BREAKING): removal of
pact
wrapper script • introduction of
pact
cli with subcommands • (BREAKING)
pact_mock_server_cli
->
pact mock
• (BREAKING)
pact_verifier_cli
->
pact verifier
• (BREAKING)
pact-plugin-cli
->
pact plugin
• (BREAKING)
pact-stub-service
->
pact stub
• default routing of all legacy commands to
pact <subcommand>
equivalent • (PARTIAL BREAKING) ruby -> rust command line arguments are not identical, with exception to the
pact-broker-cli
• users can opt in to existing behaviour by setting
PACT_CLI_LEGACY=
to any value This will be published under a minor release. Current consumers • homebrew • will get latest release by default • provide warning on install, to advise users to opt-in to legacy commands with
PACT_CLI_LEGACY
or be advised to try and make it work • pact-js-cli • work required to map verifier/mock/broker/stub cli to js api • quickest staged roll-out is • to set
PACT_CLI_LEGACY=1
in api • allow mapping to old / new bin stubs via
PACT_CLI_LEGACY
• pact-python-cli • is there a api surface still exposed? Apply this approach to • pact-docker-cli as well • pact-foundation/pact-docker-cli#175 • pactflow/actions • https://github.com/pactflow/actions/tree/feat/pact-broker-cli-rust-rewrite pact-foundation/pact-standalone