X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvpp-api%2Fjava%2Fjvpp%2Fgen%2Fjvpp_gen.py;fp=vpp-api%2Fjava%2Fjvpp%2Fgen%2Fjvpp_gen.py;h=f51b11d0cf89e1cae342aee963adb875ad02891f;hb=cb034b9b374927c7552e36dcbc306d8456b2a0cb;hp=5f8df2a9602063d45c3812a4185f1d80d502eca2;hpb=fdc62abdc113ea63dc867375bd49ef3043dcd290;p=vpp.git diff --git a/vpp-api/java/jvpp/gen/jvpp_gen.py b/src/vpp-api/java/jvpp/gen/jvpp_gen.py similarity index 93% rename from vpp-api/java/jvpp/gen/jvpp_gen.py rename to src/vpp-api/java/jvpp/gen/jvpp_gen.py index 5f8df2a9602..f51b11d0cf8 100755 --- a/vpp-api/java/jvpp/gen/jvpp_gen.py +++ b/src/vpp-api/java/jvpp/gen/jvpp_gen.py @@ -45,9 +45,11 @@ blacklist = [ "memclnt.api", "flowperpkt.api" ] parser = argparse.ArgumentParser(description='VPP Java API generator') parser.add_argument('-i', action="store", dest="inputfiles", nargs='+') parser.add_argument('--plugin_name', action="store", dest="plugin_name") +parser.add_argument('--root_dir', action="store", dest="root_dir") args = parser.parse_args() sys.path.append(".") +cwd = os.getcwd() print "Generating Java API for %s" % args.inputfiles print "inputfiles %s" % args.inputfiles @@ -56,11 +58,25 @@ print "plugin_name %s" % plugin_name cfg = {} +base_package = 'io.fd.vpp.jvpp' +plugin_package = base_package + '.' + plugin_name +root_dir = os.path.abspath(args.root_dir) +print "root_dir %s" % root_dir +work_dir = root_dir + "/target/" + plugin_package.replace(".","/") + +try: + os.makedirs(work_dir) +except OSError: + if not os.path.isdir(work_dir): + raise + +os.chdir(work_dir) + for inputfile in args.inputfiles: if any(substring in inputfile for substring in blacklist): print "WARNING: Imput file %s blacklisted" % inputfile continue - _cfg = json.load(open(inputfile, 'r')) + _cfg = json.load(open(cwd + "/" + inputfile, 'r')) if 'types' in cfg: cfg['types'].extend(_cfg['types']) else: @@ -144,8 +160,6 @@ def get_definitions(defs): return func_list, func_name -base_package = 'io.fd.vpp.jvpp' -plugin_package = base_package + '.' + plugin_name types_package = 'types' dto_package = 'dto' callback_package = 'callback' @@ -164,7 +178,7 @@ dto_gen.generate_dtos(func_list, base_package, plugin_package, plugin_name.title jvpp_impl_gen.generate_jvpp(func_list, base_package, plugin_package, plugin_name, dto_package, args.inputfiles) callback_gen.generate_callbacks(func_list, base_package, plugin_package, plugin_name.title(), callback_package, dto_package, args.inputfiles) notification_gen.generate_notification_registry(func_list, base_package, plugin_package, plugin_name.title(), notification_package, callback_package, dto_package, args.inputfiles) -jvpp_c_gen.generate_jvpp(func_list, plugin_name, args.inputfiles) +jvpp_c_gen.generate_jvpp(func_list, plugin_name, args.inputfiles, root_dir) jvpp_future_facade_gen.generate_jvpp(func_list, base_package, plugin_package, plugin_name.title(), dto_package, callback_package, notification_package, future_package, args.inputfiles) jvpp_callback_facade_gen.generate_jvpp(func_list, base_package, plugin_package, plugin_name.title(), dto_package, callback_package, notification_package, callback_facade_package, args.inputfiles)