go-ceph/contrib/implements
Sven Anderson 4ef3865bb3 implements: analyze all but internal packages
Signed-off-by: Sven Anderson <sven@redhat.com>
2022-04-12 17:53:06 +00:00
..
internal/implements contrib/implements: remove some linter noise 2022-02-21 14:45:42 +00:00
README.md implements: add brief description to build and use the tool 2020-05-17 11:26:46 -04:00
go.mod contrib/implements: move into independent module 2022-02-21 14:45:42 +00:00
go.sum contrib/implements: move into independent module 2022-02-21 14:45:42 +00:00
main.go implements: analyze all but internal packages 2022-04-12 17:53:06 +00:00

README.md

The 'implements' tool

implements is a small-ish tool created to compare the Ceph C APIs with 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