summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/swig_bot_lib/client.py
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/scripts/swig_bot_lib/client.py')
-rw-r--r--lldb/scripts/swig_bot_lib/client.py32
1 files changed, 22 insertions, 10 deletions
diff --git a/lldb/scripts/swig_bot_lib/client.py b/lldb/scripts/swig_bot_lib/client.py
index 6d21aaff4d9..80a3114ddb8 100644
--- a/lldb/scripts/swig_bot_lib/client.py
+++ b/lldb/scripts/swig_bot_lib/client.py
@@ -11,6 +11,7 @@ from __future__ import print_function
# Python modules
import argparse
+import io
import logging
import os
import socket
@@ -23,8 +24,8 @@ from lldbsuite.support import fs
from lldbsuite.support import sockutil
# package imports
-from . import config
from . import local
+from . import remote
default_ip = "127.0.0.1"
default_port = 8537
@@ -152,21 +153,32 @@ def run(args):
if not os.path.isfile(options.swig_executable):
logging.error("Swig executable '{}' does not exist."
.format(options.swig_executable))
- gen_options = local.GenOptions()
- gen_options.languages = options.languages
- gen_options.src_root = options.src_root
- gen_options.target_dir = options.target_dir
- gen_options.swig_executable = options.swig_executable
- local.generate(gen_options)
+ config = local.LocalConfig()
+ config.languages = options.languages
+ config.src_root = options.src_root
+ config.target_dir = options.target_dir
+ config.swig_executable = options.swig_executable
+ local.generate(config)
else:
logging.info("swig bot client using remote generation with server '{}'"
.format(options.remote))
connection = None
try:
- config_json = config.generate_config_json(options)
- packed_input = local.pack_archive(config_json, options)
+ config = remote.generate_config(options.languages)
+ logging.debug("Generated config json {}".format(config))
+ inputs = [("include/lldb", ".h"),
+ ("include/lldb/API", ".h"),
+ ("scripts", ".swig"),
+ ("scripts/Python", ".swig"),
+ ("scripts/interface", ".i")]
+ zip_data = io.BytesIO()
+ packed_input = local.pack_archive(zip_data, options.src_root, inputs)
+ logging.info("(null) -> config.json")
+ packed_input.writestr("config.json", config)
+ packed_input.close()
+
connection = establish_remote_connection(options.remote)
- response = transmit_data(connection, packed_input)
+ response = transmit_data(connection, zip_data.getvalue())
logging.debug("Received {} byte response.".format(len(response)))
finally:
if connection is not None:
OpenPOWER on IntegriCloud