https://github.com/epiqc/ScaffCC
Raw File
Tip revision: 4d7bfa034cfaea4e8346396c6198cdd3e271d272 authored by Andrew Litteken on 23 April 2020, 16:55:47 UTC
Version 5 Upgrade! (#40)
Tip revision: 4d7bfa0
make.py
#!/usr/bin/env python

import subprocess, sys

tee="tee -a" #append

ROOT_DIR=sys.path[0]

script_args = sys.argv 
script_name = script_args[0]

def failure():
    print ("couldn't parse arguments. Try "+ script_name +" -h")
    sys.exit(1);

if len(sys.argv) == 1:
	failure()

script_args.pop(0)
script = script_args.pop(0); 


validScripts = ["bootstrap", "build", "clean"]
validScriptsDesc =[
	"initializes the revkit directory and libraries",
	"builds the algorithms",
	"cleans the revkit directory"]

if script in ("-h", "--help"):      
    print ("valid scripts are: " + ', '.join(validScripts))
    for x in range (0, len(validScripts)):
    	print ("- " + validScripts[x] + ": " + validScriptsDesc[x])
    print ("Take a look at doc/README for further information.")
    sys.exit(2)                  
elif script in (validScripts):
    SCRIPTS_DIR = ROOT_DIR+"/scripts/"
    LOG_DIR=ROOT_DIR + "/log"
    LOGFILE_SUFFIX=".log"
    LOGFILE=LOG_DIR + "/" + script + LOGFILE_SUFFIX
    ERRFILE=LOG_DIR + "/" + script + "_error" + LOGFILE_SUFFIX
    
    init = subprocess.Popen([SCRIPTS_DIR + "init" + " " + LOGFILE + " " + ERRFILE], shell=True )
    if init.wait() != 0:
        print ("init error")
        sys.exit(1);

            
    proc = subprocess.Popen([SCRIPTS_DIR + script + " " +( ' '.join(script_args))], 
  	stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        shell=True
        )
    
    out = subprocess.Popen([tee + " " + LOGFILE],
                           stdin=proc.stdout,
                           shell=True
                           )
    
    err = subprocess.Popen([tee + " " + ERRFILE],
                           stdin=proc.stderr,
                           shell=True
                           )
    
    exit(proc.wait()) #exit with the return code of the script
    
else:
	failure()

	
back to top