implements: add brief description to build and use the tool

This is a dev tool mainly for just those of us who work on the project,
so this is mainly just a quick-start type description.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
John Mulligan 2020-05-04 17:39:34 -04:00 committed by John Mulligan
parent fb7c0f6561
commit fa21b454ab
1 changed files with 42 additions and 0 deletions

View File

@ -4,4 +4,46 @@
implements is a small-ish tool created to compare the Ceph C APIs with implements is a small-ish tool created to compare the Ceph C APIs with
go-ceph implmeents. go-ceph implmeents.
## Build
In the go-ceph repository run `make implmeents` to create a standalone
binary for the `implements` cli tool.
## Run
```
./implements [--verbose] [--json] [--list] [pkg...]
```
The --verbose option causes verbose details about the source scan to be
printed.
The tool can produce either plain-text output, or JSON with the --json option.
The --list option produces a list of all covered and missing functions from
the Ceph library. The listing also provides information about each function's
status.
`DIR` should be a directory containing go-ceph sources. If running the command from the root of the go-ceph git checkout, `.` is sufficient.
`pkg` is one or more package names such as: "cephfs", "rados", or "rbd".
The packages may be indicated by directory, such as "./cephfs".
The tool will output a section pertaining to each named package.
Examples:
```
# Quickly summarize all packages
./implements cephfs rados rbd
# List missing and present functions in rbd
./implements --list ./rbd
# Print debugging info while processing rados
./implements --verbose rados
# Full analysis of everything in JSON
./implements --json --list ./cephfs ./rados ./rbd
```