[bisq-network/bisq] Use posix-style CLI opts, provide method help (#5081)
Stan
notifications at github.com
Thu Jan 14 14:42:20 CET 2021
Posix-style method opts replace the formerly ambiguous, positional method params in the CLI.
This change also adds new api `CoreHelpService`, for serving method specific help from the server. (Help text is defined on the server to avoid duplicating it when the api starts serving RESTful clients.)
- Add `CoreHelpService` to serve method help in man page format.
- Add some method help docs (man pages) to core's resources: `createoffer`, `takeoffer`, and several no-arg methods.
- Add `gRPC` `CoreHelpService` stubs to CLI.
- Move CLI method enum to its own class to help reduce file-size of growing `CliMain` class.
- Add CLI method specific posix-style option parsers. Opts are parsed by the `joptsimple` lib, adding much needed client side validation to `bisq-cli` commands.
- Adjust CLI to new posix-style opts, and method help service.
- Delete uneeded `NegativeNumberOptions` class because `joptsimple` correctly handles negative posix style opt values (joptsimple was treating negative param values as opt labels).
- Adjust `bats` mainnet smoke test to new posix-style CLI opts.
You can view, comment on, or merge this pull request online at:
https://github.com/bisq-network/bisq/pull/5081
-- Commit Summary --
* Add new CoreHelpService and method help docs
* Add CoreHelpService gRPC stubs and test case
* Add posix-style api method option parsers
* Move CLI method enum to it's own class
* Change CLI opts to posix-style
* Remove deprecated NegativeNumberOptions
-- File Changes --
M apitest/scripts/mainnet-test.sh (26)
A apitest/src/test/java/bisq/apitest/method/GetMethodHelpTest.java (65)
M apitest/src/test/java/bisq/apitest/method/MethodTest.java (10)
M apitest/src/test/java/bisq/apitest/scenario/StartupTest.java (8)
M cli/src/main/java/bisq/cli/CliMain.java (628)
M cli/src/main/java/bisq/cli/GrpcStubs.java (3)
A cli/src/main/java/bisq/cli/Method.java (56)
D cli/src/main/java/bisq/cli/NegativeNumberOptions.java (97)
A cli/src/main/java/bisq/cli/opts/AbstractMethodOptionParser.java (59)
A cli/src/main/java/bisq/cli/opts/ArgumentList.java (123)
A cli/src/main/java/bisq/cli/opts/CancelOfferOptionParser.java (52)
A cli/src/main/java/bisq/cli/opts/CreateOfferOptionParser.java (140)
A cli/src/main/java/bisq/cli/opts/CreatePaymentAcctOptionParser.java (63)
A cli/src/main/java/bisq/cli/opts/GetAddressBalanceOptionParser.java (52)
A cli/src/main/java/bisq/cli/opts/GetBalanceOptionParser.java (43)
A cli/src/main/java/bisq/cli/opts/GetOfferOptionParser.java (52)
A cli/src/main/java/bisq/cli/opts/GetOffersOptionParser.java (64)
A cli/src/main/java/bisq/cli/opts/GetPaymentAcctFormOptionParser.java (53)
A cli/src/main/java/bisq/cli/opts/GetTradeOptionParser.java (62)
A cli/src/main/java/bisq/cli/opts/GetTransactionOptionParser.java (52)
A cli/src/main/java/bisq/cli/opts/MethodOpts.java (26)
A cli/src/main/java/bisq/cli/opts/OptLabel.java (51)
A cli/src/main/java/bisq/cli/opts/RegisterDisputeAgentOptionParser.java (64)
A cli/src/main/java/bisq/cli/opts/RemoveWalletPasswordOptionParser.java (52)
A cli/src/main/java/bisq/cli/opts/SendBsqOptionParser.java (73)
A cli/src/main/java/bisq/cli/opts/SendBtcOptionParser.java (82)
A cli/src/main/java/bisq/cli/opts/SetTxFeeRateOptionParser.java (53)
A cli/src/main/java/bisq/cli/opts/SetWalletPasswordOptionParser.java (61)
A cli/src/main/java/bisq/cli/opts/SimpleMethodOptionParser.java (30)
A cli/src/main/java/bisq/cli/opts/TakeOfferOptionParser.java (73)
A cli/src/main/java/bisq/cli/opts/UnlockWalletOptionParser.java (65)
A cli/src/main/java/bisq/cli/opts/WithdrawFundsOptionParser.java (70)
M core/src/main/java/bisq/core/api/CoreApi.java (13)
A core/src/main/java/bisq/core/api/CoreHelpService.java (103)
A core/src/main/resources/help/createoffer-help.txt (64)
A core/src/main/resources/help/getfundingaddresses-help.txt (17)
A core/src/main/resources/help/getpaymentaccts-help.txt (17)
A core/src/main/resources/help/getpaymentmethods-help.txt (17)
A core/src/main/resources/help/gettxfeerate-help.txt (17)
A core/src/main/resources/help/getunusedbsqaddress-help.txt (17)
A core/src/main/resources/help/getversion-help.txt (17)
A core/src/main/resources/help/lockwallet-help.txt (17)
A core/src/main/resources/help/takeoffer-help.txt (35)
A core/src/main/resources/help/unsettxfeerate-help.txt (17)
A daemon/src/main/java/bisq/daemon/grpc/GrpcHelpService.java (56)
M daemon/src/main/java/bisq/daemon/grpc/GrpcServer.java (2)
M proto/src/main/proto/grpc.proto (17)
-- Patch Links --
https://github.com/bisq-network/bisq/pull/5081.patch
https://github.com/bisq-network/bisq/pull/5081.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/5081
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20210114/02e4cb5a/attachment.htm>
More information about the bisq-github
mailing list