commit | 16c3255fb94ccdcf38496c89dc8317abbde687e6 | [log] [tgz] |
---|---|---|
author | Vadim Shtayura <vadimsh@chromium.org> | Mon Sep 11 20:27:21 2023 |
committer | LUCI CQ <infra-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Sep 11 20:27:21 2023 |
tree | 787ea14756da89eb271da34bd1f746b7317400ab | |
parent | 367bab90d8cf157169125e566fbf41febbbb4ba9 [diff] |
[swarming] Refactor the client, part 1. This extracts common subcommands copy-pasted functionality into a dedicated package. It also starts extraction of a "fat" client into a separate package as well. Ideally all of Swarming client functionality is available as a separate package with a nice API and swarming CLI just wraps this package. Common subcommands functionality extracted into base/: * Setting up the root context with logging and cancellation. * Parsing arguments. * Creating the Swarming client. * Writing JSON output and/or console output. * Timing execution of commands. The primary benefit is to standardize how swarming subcommands behave (e.g. have a single `-json-output` flag that behaves consistently across all subcommands instead of 4 differently named variations with slightly different behavior). Change-Id: I90df5291291fac477e884bf1987723fb226d363d Reviewed-on: https://chromium-review.googlesource.com/c/infra/luci/luci-go/+/4827858 Reviewed-by: Jonah Hooper <jonahhooper@google.com> Commit-Queue: Vadim Shtayura <vadimsh@chromium.org>
LUCI Go code is meant to be worked on from an Chromium infra.git checkout, which enforces packages versions and Go toolchain version. First get fetch via depot_tools.git then run:
fetch infra cd infra/go eval `./env.py` cd src/go.chromium.org/luci
It is now possible to directly install tools with go install:
go install go.chromium.org/luci/auth/client/cmd/...@latest go install go.chromium.org/luci/buildbucket/cmd/...@latest go install go.chromium.org/luci/cipd/client/cmd/...@latest go install go.chromium.org/luci/client/cmd/...@latest go install go.chromium.org/luci/cv/cmd/...@latest go install go.chromium.org/luci/gce/cmd/...@latest go install go.chromium.org/luci/grpc/cmd/...@latest go install go.chromium.org/luci/logdog/client/cmd/...@latest go install go.chromium.org/luci/luci_notify/cmd/...@latest go install go.chromium.org/luci/lucicfg/cmd/...@latest go install go.chromium.org/luci/luciexe/legacy/cmd/...@latest go install go.chromium.org/luci/mailer/cmd/...@latest go install go.chromium.org/luci/mmutex/cmd/...@latest go install go.chromium.org/luci/resultdb/cmd/...@latest go install go.chromium.org/luci/server/cmd/...@latest go install go.chromium.org/luci/swarming/cmd/...@latest go install go.chromium.org/luci/tokenserver/cmd/...@latest go install go.chromium.org/luci/tools/cmd/...@latest
Contributing uses the same flow as Chromium contributions.