Merge pull request #6145 from filecoin-project/feat/cli-doc-gen
Generate CLI docs
This commit is contained in:
commit
e855b80b01
@ -436,7 +436,7 @@ jobs:
|
|||||||
- run:
|
- run:
|
||||||
command: "! go fmt ./... 2>&1 | read"
|
command: "! go fmt ./... 2>&1 | read"
|
||||||
|
|
||||||
cbor-gen-check:
|
gen-check:
|
||||||
executor: golang
|
executor: golang
|
||||||
steps:
|
steps:
|
||||||
- install-deps
|
- install-deps
|
||||||
@ -444,7 +444,10 @@ jobs:
|
|||||||
- run: make deps
|
- run: make deps
|
||||||
- run: go install golang.org/x/tools/cmd/goimports
|
- run: go install golang.org/x/tools/cmd/goimports
|
||||||
- run: go install github.com/hannahhoward/cbor-gen-for
|
- run: go install github.com/hannahhoward/cbor-gen-for
|
||||||
- run: make type-gen
|
- run: make gen
|
||||||
|
- run: git --no-pager diff
|
||||||
|
- run: git --no-pager diff --quiet
|
||||||
|
- run: make docsgen-cli
|
||||||
- run: git --no-pager diff
|
- run: git --no-pager diff
|
||||||
- run: git --no-pager diff --quiet
|
- run: git --no-pager diff --quiet
|
||||||
|
|
||||||
@ -701,7 +704,7 @@ workflows:
|
|||||||
concurrency: "16" # expend all docker 2xlarge CPUs.
|
concurrency: "16" # expend all docker 2xlarge CPUs.
|
||||||
- mod-tidy-check
|
- mod-tidy-check
|
||||||
- gofmt
|
- gofmt
|
||||||
- cbor-gen-check
|
- gen-check
|
||||||
- docs-check
|
- docs-check
|
||||||
- test:
|
- test:
|
||||||
codecov-upload: true
|
codecov-upload: true
|
||||||
|
6
Makefile
6
Makefile
@ -368,7 +368,13 @@ docsgen-openrpc-worker: docsgen-openrpc-bin
|
|||||||
.PHONY: docsgen docsgen-md-bin docsgen-openrpc-bin
|
.PHONY: docsgen docsgen-md-bin docsgen-openrpc-bin
|
||||||
|
|
||||||
gen: type-gen method-gen docsgen api-gen
|
gen: type-gen method-gen docsgen api-gen
|
||||||
|
@echo ">>> IF YOU'VE MODIFIED THE CLI, REMEMBER TO ALSO MAKE docsgen-cli"
|
||||||
.PHONY: gen
|
.PHONY: gen
|
||||||
|
|
||||||
|
# separate from gen because it needs binaries
|
||||||
|
docsgen-cli: lotus lotus-miner lotus-worker
|
||||||
|
python ./scripts/generate-lotus-cli.py
|
||||||
|
.PHONY: docsgen-cli
|
||||||
|
|
||||||
print-%:
|
print-%:
|
||||||
@echo $*=$($*)
|
@echo $*=$($*)
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package build
|
package build
|
||||||
|
|
||||||
|
import "os"
|
||||||
|
|
||||||
var CurrentCommit string
|
var CurrentCommit string
|
||||||
var BuildType int
|
var BuildType int
|
||||||
|
|
||||||
@ -32,5 +34,9 @@ func buildType() string {
|
|||||||
const BuildVersion = "1.11.0-dev"
|
const BuildVersion = "1.11.0-dev"
|
||||||
|
|
||||||
func UserVersion() string {
|
func UserVersion() string {
|
||||||
|
if os.Getenv("LOTUS_VERSION_IGNORE_COMMIT") == "1" {
|
||||||
|
return BuildVersion
|
||||||
|
}
|
||||||
|
|
||||||
return BuildVersion + buildType() + CurrentCommit
|
return BuildVersion + buildType() + CurrentCommit
|
||||||
}
|
}
|
||||||
|
1816
documentation/en/cli-lotus-miner.md
Normal file
1816
documentation/en/cli-lotus-miner.md
Normal file
File diff suppressed because it is too large
Load Diff
171
documentation/en/cli-lotus-worker.md
Normal file
171
documentation/en/cli-lotus-worker.md
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
# lotus-worker
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker - Remote miner worker
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker [global options] command [command options] [arguments...]
|
||||||
|
|
||||||
|
VERSION:
|
||||||
|
1.11.0-dev
|
||||||
|
|
||||||
|
COMMANDS:
|
||||||
|
run Start lotus worker
|
||||||
|
info Print worker info
|
||||||
|
storage manage sector storage
|
||||||
|
set Manage worker settings
|
||||||
|
wait-quiet Block until all running tasks exit
|
||||||
|
tasks Manage task processing
|
||||||
|
help, h Shows a list of commands or help for one command
|
||||||
|
|
||||||
|
GLOBAL OPTIONS:
|
||||||
|
--worker-repo value, --workerrepo value Specify worker repo path. flag workerrepo and env WORKER_PATH are DEPRECATION, will REMOVE SOON (default: "~/.lotusworker") [$LOTUS_WORKER_PATH, $WORKER_PATH]
|
||||||
|
--miner-repo value, --storagerepo value Specify miner repo path. flag storagerepo and env LOTUS_STORAGE_PATH are DEPRECATION, will REMOVE SOON (default: "~/.lotusminer") [$LOTUS_MINER_PATH, $LOTUS_STORAGE_PATH]
|
||||||
|
--enable-gpu-proving enable use of GPU for mining operations (default: true)
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
--version, -v print the version (default: false)
|
||||||
|
```
|
||||||
|
|
||||||
|
## lotus-worker run
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker run - Start lotus worker
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker run [command options] [arguments...]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--listen value host address and port the worker api will listen on (default: "0.0.0.0:3456")
|
||||||
|
--no-local-storage don't use storageminer repo for sector storage (default: false)
|
||||||
|
--no-swap don't use swap (default: false)
|
||||||
|
--addpiece enable addpiece (default: true)
|
||||||
|
--precommit1 enable precommit1 (32G sectors: 1 core, 128GiB Memory) (default: true)
|
||||||
|
--unseal enable unsealing (32G sectors: 1 core, 128GiB Memory) (default: true)
|
||||||
|
--precommit2 enable precommit2 (32G sectors: all cores, 96GiB Memory) (default: true)
|
||||||
|
--commit enable commit (32G sectors: all cores or GPUs, 128GiB Memory + 64GiB swap) (default: true)
|
||||||
|
--parallel-fetch-limit value maximum fetch operations to run in parallel (default: 5)
|
||||||
|
--timeout value used when 'listen' is unspecified. must be a valid duration recognized by golang's time.ParseDuration function (default: "30m")
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## lotus-worker info
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker info - Print worker info
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker info [command options] [arguments...]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## lotus-worker storage
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker storage - manage sector storage
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker storage command [command options] [arguments...]
|
||||||
|
|
||||||
|
COMMANDS:
|
||||||
|
attach attach local storage path
|
||||||
|
help, h Shows a list of commands or help for one command
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
--version, -v print the version (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### lotus-worker storage attach
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker storage attach - attach local storage path
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker storage attach [command options] [arguments...]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--init initialize the path first (default: false)
|
||||||
|
--weight value (for init) path weight (default: 10)
|
||||||
|
--seal (for init) use path for sealing (default: false)
|
||||||
|
--store (for init) use path for long-term storage (default: false)
|
||||||
|
--max-storage value (for init) limit storage space for sectors (expensive for very large paths!)
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## lotus-worker set
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker set - Manage worker settings
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker set [command options] [arguments...]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--enabled enable/disable new task processing (default: true)
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## lotus-worker wait-quiet
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker wait-quiet - Block until all running tasks exit
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker wait-quiet [command options] [arguments...]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## lotus-worker tasks
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker tasks - Manage task processing
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker tasks command [command options] [arguments...]
|
||||||
|
|
||||||
|
COMMANDS:
|
||||||
|
enable Enable a task type
|
||||||
|
disable Disable a task type
|
||||||
|
help, h Shows a list of commands or help for one command
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
--version, -v print the version (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### lotus-worker tasks enable
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker tasks enable - Enable a task type
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker tasks enable [command options] [UNS|C2|PC2|PC1|AP]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### lotus-worker tasks disable
|
||||||
|
```
|
||||||
|
NAME:
|
||||||
|
lotus-worker tasks disable - Disable a task type
|
||||||
|
|
||||||
|
USAGE:
|
||||||
|
lotus-worker tasks disable [command options] [UNS|C2|PC2|PC1|AP]
|
||||||
|
|
||||||
|
OPTIONS:
|
||||||
|
--help, -h show help (default: false)
|
||||||
|
|
||||||
|
```
|
2659
documentation/en/cli-lotus.md
Normal file
2659
documentation/en/cli-lotus.md
Normal file
File diff suppressed because it is too large
Load Diff
52
scripts/generate-lotus-cli.py
Normal file
52
scripts/generate-lotus-cli.py
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# Generate lotus command lines documents as text and markdown in folder "lotus/documentation/en".
|
||||||
|
# Python 2.7
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
def generate_lotus_cli(prog):
|
||||||
|
output_folder = 'documentation/en'
|
||||||
|
md_file = open('%s/cli-%s.md' % (output_folder, prog), 'w') # set the name of md output
|
||||||
|
|
||||||
|
def get_cmd_recursively(cur_cmd):
|
||||||
|
depth = cur_cmd.count(' ')
|
||||||
|
md_file.writelines(('\n' * min(depth, 1)) + ('#' * depth) + '# ' + cur_cmd[2:] + '\n')
|
||||||
|
|
||||||
|
cmd_flag = False
|
||||||
|
|
||||||
|
print('> ' + cur_cmd)
|
||||||
|
cmd_help_output = os.popen(cur_cmd + ' -h')
|
||||||
|
cmd_help_output_lines = cmd_help_output.readlines()
|
||||||
|
|
||||||
|
md_file.writelines('```\n')
|
||||||
|
md_file.writelines(cmd_help_output_lines)
|
||||||
|
md_file.writelines('```\n')
|
||||||
|
|
||||||
|
for line in cmd_help_output_lines:
|
||||||
|
try:
|
||||||
|
line = line.strip()
|
||||||
|
if line == 'COMMANDS:':
|
||||||
|
cmd_flag = True
|
||||||
|
if cmd_flag is True and line == '':
|
||||||
|
cmd_flag = False
|
||||||
|
if cmd_flag is True and line[-1] != ':' and 'help, h' not in line:
|
||||||
|
gap_pos = 0
|
||||||
|
sub_cmd = line
|
||||||
|
if ' ' in line:
|
||||||
|
gap_pos = sub_cmd.index(' ')
|
||||||
|
if gap_pos:
|
||||||
|
sub_cmd = cur_cmd + ' ' + sub_cmd[:gap_pos]
|
||||||
|
get_cmd_recursively(sub_cmd)
|
||||||
|
except Exception as e:
|
||||||
|
print('Fail to deal with "%s" with error:\n%s' % (line, e))
|
||||||
|
|
||||||
|
get_cmd_recursively('./' + prog)
|
||||||
|
md_file.close()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
os.putenv("LOTUS_VERSION_IGNORE_COMMIT", "1")
|
||||||
|
generate_lotus_cli('lotus')
|
||||||
|
generate_lotus_cli('lotus-miner')
|
||||||
|
generate_lotus_cli('lotus-worker')
|
Loading…
Reference in New Issue
Block a user