From 3590347f60a08b39cadce233b9a5cb876e14a480 Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Tue, 21 Sep 2021 14:45:28 -0400 Subject: [PATCH] implements: add support for scanning the api of the "admin" subpackages Signed-off-by: John Mulligan --- contrib/implements/main.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/contrib/implements/main.go b/contrib/implements/main.go index b16d49c..db46eac 100644 --- a/contrib/implements/main.go +++ b/contrib/implements/main.go @@ -19,7 +19,6 @@ import ( "flag" "log" "os" - "path" "github.com/ceph/go-ceph/contrib/implements/internal/implements" ) @@ -49,6 +48,13 @@ func init() { flag.StringVar(&outputText, "report-text", "", "filename for plain-text report") } +// TODO: this is a stub implementation that doesn't do anything. +// the intent is to eventually be able to tell a go-ceph sub-package +// like "rbd" or "cephfs/admin" apart from a real path like "/home/foo/go-ceph/rbd". +func splitPkg(s string) (string, string) { + return "", s +} + func main() { flag.Parse() args := flag.Args() @@ -96,9 +102,15 @@ func main() { } for _, pkgref := range args[0:] { - source, pkg := path.Split(pkgref) + source, pkg := splitPkg(pkgref) + checkCLang := false switch pkg { case "cephfs", "rados", "rbd": + checkCLang = true + if verbose { + logger.Printf("Processing package (with C): %s\n", pkg) + } + case "cephfs/admin", "rbd/admin", "rgw/admin": if verbose { logger.Printf("Processing package: %s\n", pkg) } @@ -109,8 +121,10 @@ func main() { source = "." } ii := implements.NewInspector() - if err := implements.CephCFunctions(pkg, ii); err != nil { - abort(err.Error()) + if checkCLang { + if err := implements.CephCFunctions(pkg, ii); err != nil { + abort(err.Error()) + } } if err := implements.CephGoFunctions(source, pkg, ii); err != nil { abort(err.Error())