implements: add support for scanning the api of the "admin" subpackages

Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
John Mulligan 2021-09-21 14:45:28 -04:00 committed by mergify[bot]
parent 961ff19bfd
commit 3590347f60
1 changed files with 18 additions and 4 deletions

View File

@ -19,7 +19,6 @@ import (
"flag" "flag"
"log" "log"
"os" "os"
"path"
"github.com/ceph/go-ceph/contrib/implements/internal/implements" "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") 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() { func main() {
flag.Parse() flag.Parse()
args := flag.Args() args := flag.Args()
@ -96,9 +102,15 @@ func main() {
} }
for _, pkgref := range args[0:] { for _, pkgref := range args[0:] {
source, pkg := path.Split(pkgref) source, pkg := splitPkg(pkgref)
checkCLang := false
switch pkg { switch pkg {
case "cephfs", "rados", "rbd": 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 { if verbose {
logger.Printf("Processing package: %s\n", pkg) logger.Printf("Processing package: %s\n", pkg)
} }
@ -109,8 +121,10 @@ func main() {
source = "." source = "."
} }
ii := implements.NewInspector() ii := implements.NewInspector()
if err := implements.CephCFunctions(pkg, ii); err != nil { if checkCLang {
abort(err.Error()) if err := implements.CephCFunctions(pkg, ii); err != nil {
abort(err.Error())
}
} }
if err := implements.CephGoFunctions(source, pkg, ii); err != nil { if err := implements.CephGoFunctions(source, pkg, ii); err != nil {
abort(err.Error()) abort(err.Error())