in utils/run_sample_ci.py [0:0]
def launch_sample():
global config_json
global config_json_arguments_list
if (config_json == None):
print ("No configuration JSON file data found!")
return -1
exit_code = 0
print("Launching sample...")
# Java
if (config_json['language'] == "Java"):
# Flatten arguments down into a asingle string
arguments_as_string = ""
for i in range(0, len(config_json_arguments_list)):
arguments_as_string += str(config_json_arguments_list[i])
if (i+1 < len(config_json_arguments_list)):
arguments_as_string += " "
arguments = ["mvn", "compile", "exec:java"]
arguments.append("-pl")
arguments.append(config_json['sample_file'])
arguments.append("-Dexec.mainClass=" + config_json['sample_main_class'])
arguments.append("-Daws.crt.ci=True")
# We have to do this as a string, unfortunately, due to how -Dexec.args= works...
argument_string = subprocess.list2cmdline(arguments) + " -Dexec.args=\"" + arguments_as_string + "\""
sample_return = subprocess.run(argument_string, shell=True)
exit_code = sample_return.returncode
# C++
elif (config_json['language'] == "CPP"):
sample_return = subprocess.run(
args=config_json_arguments_list, executable=config_json['sample_file'])
exit_code = sample_return.returncode
elif (config_json['language'] == "Python"):
config_json_arguments_list.append("--is_ci")
config_json_arguments_list.append("True")
sample_return = subprocess.run(
args=[sys.executable, config_json['sample_file']] + config_json_arguments_list)
exit_code = sample_return.returncode
elif (config_json['language'] == "Javascript"):
os.chdir(config_json['sample_file'])
config_json_arguments_list.append("--is_ci")
config_json_arguments_list.append("true")
sample_return_one = None
if sys.platform == "win32" or sys.platform == "cygwin":
sample_return_one = subprocess.run(args=["npm", "install"], shell=True)
else:
sample_return_one = subprocess.run(args=["npm", "install"])
if (sample_return_one == None or sample_return_one.returncode != 0):
exit_code = sample_return_one.returncode
else:
sample_return_two = None
arguments = []
if 'node_cmd' in config_json:
arguments = config_json['node_cmd'].split(" ")
else:
arguments = ["node", "dist/index.js"]
if sys.platform == "win32" or sys.platform == "cygwin":
sample_return_two = subprocess.run(
args=arguments + config_json_arguments_list, shell=True)
else:
sample_return_two = subprocess.run(
args=arguments + config_json_arguments_list)
if (sample_return_two != None):
exit_code = sample_return_two.returncode
else:
exit_code = 1
cleanup_sample()
return exit_code