try: # unzip the code stage = 0 compile_utils.unzip(source_dir, unzipped_dir) # remove existing compilation results stage = 1 shutil.rmtree(work_dir, ignore_errors=True) os.makedirs(work_dir) # find main.cpp and copy the root stage = 2 compile_utils.copy_from_root(unzipped_dir, compile_dir, 'main.cpp', -1) # compile current_uid = os.geteuid() compile_utils.recursively_change_owner(work_dir, 2016) os.seteuid(2016) stage = 3 try: compile_utils.compile_cpp(compile_dir) finally: os.seteuid(current_uid) os.chown(compile_dir, current_uid, current_uid) # make archive
# remove existing compilation results stage = 0 print("Stage {}: {}".format(stage, "remove existing compilation results")) shutil.rmtree(work_dir, ignore_errors=True) os.makedirs(work_dir) # unzip the code stage = 1 print("Stage {}: {}".format(stage, "unzip the code")) compile_utils.unzip(source_dir, unzipped_dir) # find and copy the root of the client stage = 2 print("Stage {}: {}".format(stage, "find and copy the root of the client")) compile_utils.copy_from_root(unzipped_dir, compile_dir, 'controller.py', -1) # compile (syntax check) stage = 3 print("Stage {}: {}".format(stage, "compile (syntax check)")) current_uid = os.geteuid() compile_utils.recursively_change_owner(work_dir, 2016) os.seteuid(2016) try: compile_done = compile_utils.compile_py3(compile_dir) finally: os.seteuid(current_uid) os.chown(compile_dir, current_uid, current_uid) # make archive stage = 4
stage = -1 try: # unzip the code stage = 0 compile_utils.unzip(source_dir, unzipped_dir) # remove existing compilation results stage = 1 shutil.rmtree(work_dir, ignore_errors=True) os.makedirs(work_dir) # find and copy the root of the client stage = 2 copy_done = compile_utils.copy_from_root(unzipped_dir, compile_dir + '/src', 'controller.go', -2) # remove .class files stage = 3 compile_utils.remove_files_with_extention(compile_dir, '.o') # compile current_uid = os.geteuid() compile_utils.recursively_change_owner(work_dir, 2016) os.seteuid(2016) stage = 4 try: compile_done = compile_utils.compile_go(compile_dir) finally: os.seteuid(current_uid)
errors = [] stage = -1 try: # unzip the code stage = 0 compile_utils.unzip(source_dir, unzipped_dir) # remove existing compilation results stage = 1 shutil.rmtree(compile_dir, ignore_errors=True) # find main.cpp and copy the root stage = 2 compile_utils.copy_from_root(unzipped_dir, compile_dir, 'main.cpp', -1) # compile current_uid = os.geteuid() compile_utils.recursively_change_owner(compile_dir, 2016) os.seteuid(2016) stage = 3 try: compile_utils.compile_cpp(compile_dir) finally: os.seteuid(current_uid) os.chown(compile_dir, current_uid, current_uid) # make archive
errors = [] stage = -1 try: # unzip the code stage = 0 compile_utils.unzip(source_dir, unzipped_dir) # remove existing compilation results stage = 1 shutil.rmtree(work_dir, ignore_errors=True) os.makedirs(work_dir) # find main.cpp and copy the root stage = 2 compile_utils.copy_from_root(unzipped_dir, compile_dir, 'CMakeLists.txt', -1) # compile current_uid = os.geteuid() compile_utils.recursively_change_owner(work_dir, 2016) os.seteuid(2016) stage = 3 try: compile_utils.compile_cpp(compile_dir) finally: os.seteuid(current_uid) os.chown(compile_dir, current_uid, current_uid) # make archive stage = 4
try: # remove existing compilation results stage = 0 shutil.rmtree(compile_dir, ignore_errors=True) # copy libs and project files stage = 1 shutil.copytree(utils_dir + '/AIC16-Client-Java', compile_dir) # unzip the code stage = 2 compile_utils.unzip(source_dir, unzipped_dir) # find and copy the root of the client stage = 3 copy_done = compile_utils.copy_from_root(unzipped_dir, compile_dir + '/src', 'Controller.java', -2) # remove .class files stage = 4 compile_utils.remove_files_with_extention(compile_dir, '.class') # compile stage = 5 current_uid = os.geteuid() compile_utils.recursively_change_owner(compile_dir, 2016) os.seteuid(2016) stage = 5 try: compile_done = compile_utils.compile_java(compile_dir) finally:
errors = [] stage = -1 try: # remove existing compilation results stage = 0 shutil.rmtree(compile_dir, ignore_errors=True) # unzip the code stage = 1 compile_utils.unzip(source_dir, unzipped_dir) # find and copy the root of the client stage = 2 compile_utils.copy_from_root(unzipped_dir, compile_dir, 'Controller.py', -1) # compile (syntax check) stage = 3 current_uid = os.geteuid() compile_utils.recursively_change_owner(compile_dir, 2016) os.seteuid(2016) try: compile_done = compile_utils.compile_py3(compile_dir) finally: os.seteuid(current_uid) os.chown(compile_dir, current_uid, current_uid) # make archive stage = 4 shutil.make_archive(root_dir + '/compiled/compiled', 'zip', compile_dir)