For embedding into the soroban-cli. The best way to embed the XDR CLI is to reuse the type structures, which we can do, however the internals of the Root command are private and so there's no way to use the XDR CLI Root once parsing by clap is complete.
We could do two things, expose the fields as public, or expose the run behavior that already exists in this lib. Given the goal is to replicate behavior, exposing the existing run function seemed like the appropriate way to solve this problem.
This change is intended for releasing as a patch release then propagating through the env and sdk repos such that the following change could be released:
Even though this change is intended as a patch release this repo has no changes existing or planned on main and since the last release and so this change is targeting main and the patch release will be made from there.
What
Add fn for running the root cli command.
Why
For embedding into the soroban-cli. The best way to embed the XDR CLI is to reuse the type structures, which we can do, however the internals of the Root command are private and so there's no way to use the XDR CLI Root once parsing by clap is complete.
We could do two things, expose the fields as public, or expose the run behavior that already exists in this lib. Given the goal is to replicate behavior, exposing the existing run function seemed like the appropriate way to solve this problem.
Close https://github.com/stellar/soroban-tools/issues/1018
Releasing
This change is intended for releasing as a patch release then propagating through the env and sdk repos such that the following change could be released:
Even though this change is intended as a patch release this repo has no changes existing or planned on main and since the last release and so this change is targeting main and the patch release will be made from there.