#!/usr/bin/env python import os from os import environ, mkdir from os.path import abspath, dirname, isdir import string import sys from glob import glob args = sys.argv[1:] j_home = os.environ["JAVA_HOME"] if not j_home: raise "JAVA_HOME env var not defined" prefix = os.path.dirname(sys.argv[0]) adaptj_home = os.path.normpath(os.path.join(prefix, "../../starj")) libdir = os.path.normpath(os.path.join(prefix, "../lib")) my_cp = os.path.join(j_home, "jre/lib/rt.jar:") my_cp += os.path.join(libdir, "aspectjrt.jar:") for jar in glob(adaptj_home + "/analyzer/lib/*.jar"): my_cp += jar + ":" my_args = [] tracedir = "." benchmark_name = "" i = 0 while i < len(args): if args[i] in ("-cp", "-classpath"): i = i + 1 my_cp += args[i] elif args[i] in ("-tracedir",): i = i + 1 tracedir = abspath(args[i]) elif args[i] in ("-name",): i = i + 1 benchmark_name = args[i] else: my_args.append(args[i]) i = i + 1 if my_cp: cp = list(my_cp.split(':')) try: idx = cp.index("$CLASSPATH") if idx >= 0: del cp[idx] except ValueError: pass cp = filter(lambda x : x, cp) my_cp = string.join(cp, ':') + ':' else: my_cp = '' if not isdir(tracedir): raise "ERROR: trace directory " + tracedir + " does not exist." if tracedir is not ".": tracedir = os.path.join(tracedir, benchmark_name) tracedir = abspath(tracedir) os.environ["CLASSPATH"] = my_cp os.system(os.path.join(j_home, "bin/java") + ' -Xmx512m starj.Main' #+ ' -p toolkits.aspects enabled' #+ ' -x results/aspects.xml \'toolkits.aspects.metrics\'' + ' -p toolkits.metrics enabled' + ' -x results/metrics.xml \'toolkits.metrics.*\'' + ' ' + tracedir + '/StarJ.dat') #os.system(os.path.join(j_home, "bin/java") + " -Xmx512m adaptj.Main -p aspects enabled,xmlfile:aspects.xml -p mp enabled,xmlfile:metrics.xml --pipe AdaptJ.dat > tag_mix.txt 2> stderr.log") #os.system(os.path.join(j_home, "bin/java") + " -Xmx512m adaptj.Main -p aspects enabled,xmlfile:results/aspects.xml -p mp enabled,xmlfile:results/metrics.xml --pipe AdaptJ.dat") #os.system(os.path.join(j_home, "bin/java") + " -Xmx512m adaptj.Main -p aspects enabled,xmlfile:aspects.xml --pipe AdaptJ.dat > tag_mix.txt 2> stderr.log") #os.system(os.path.join(j_home, "bin/java") + " -Xmx256m adaptj.Main -p aspects enabled -p pp.aprn enabled --pipe AdaptJ.dat") #os.system(os.path.join(j_home, "bin/java") + " -Xmx512m adaptj.Main -p aspects enabled --pipe AdaptJ.dat") #os.system(os.path.join(j_home, "bin/java") + " -Xmx256m adaptj.Main -p aspects enabled -p mp enabled,xmlfile:metrics.xml --pipe AdaptJ.dat > tag_mix.txt")