37
39
Skel: Create, run and analyze skeletal I/O applications
38
40
-------------------------------------------------------
39
41
Available subcommands include:
48
50
Use skel help <subcommand> to see detailed options for each subcommand.''')
49
51
parser.add_argument ('subcommand', metavar='subcommand', help='Skel command to execute')
50
parser.add_argument ('project', metavar='project', help='Name of the skel project')
52
#parser.add_argument ('project', metavar='project', help='Name of the skel project')
51
53
#parser.add_argument ('-g', '--group', help='adios group (only valid for skel params)')
56
58
def main(argv=None):
58
60
skel_settings.create_settings_dir_if_needed()
60
63
# install does not require a project, so let's just check for it directly
61
64
if sys.argv[1] == 'install':
67
# Also look for skel help, and print the list of subcommands...
68
if sys.argv[1] == 'help' and len(sys.argv) == 2:
69
print parser.description
72
if sys.argv[1] == 'help':
73
if sys.argv[2] == 'makefile':
74
sys.argv = ["skel", "makefile", "junk", "-h"]
75
skel_makefile.generate_makefiles_with_args (None, parser)
76
elif sys.argv[2] == 'params':
77
sys.argv = ["skel", "params", "junk", "-h"]
78
skel_params.generate_param_file_with_args (None, parser)
79
elif sys.argv[2] == 'replay':
80
sys.argv = ["skel", "replay", "junk", "-h"]
81
elif sys.argv[2] == 'source':
82
sys.argv = ["skel", "source", "junk", "-h"]
83
skel_source.create_sources_with_args (None, parser)
84
elif sys.argv[2] == 'submit':
85
sys.argv = ["skel", "submit", "junk", "-h"]
86
skel_submit.generate_submit_scripts_with_args (parser)
87
elif sys.argv[2] == 'xml':
88
sys.argv = ["skel", "xml", "junk", "-h"]
90
print "Unknown help topic"
64
93
#args = parse_command_line()
66
94
args, unknown = parser.parse_known_args()
68
96
# ignore .xml suffix if used (tab completion)
69
if args.project and args.project.endswith (".xml"):
70
args.project = args.project[:-4]
97
#if args.project and args.project.endswith (".xml"):
98
# args.project = args.project[:-4]
72
100
if args.subcommand == 'install':
103
if args.subcommand == 'template':
104
skel_template.fill_template (parser)
75
107
if args.subcommand == 'xml':
76
skel_xml.create_skel_xml (args.project, parser)
108
skel_xml.create_skel_xml (parser)
79
111
if args.subcommand == 'replay':
80
112
skel_replay.do_replay_with_args (parser)
84
config = adios.adiosConfig (args.project + '_skel.xml')
86
print( "Error reading " + args.project + "_skel.xml. Try running skel xml " + args.project + " first.")/
115
if args.subcommand == 'suite':
116
skel_suite.gen_suite_with_args (parser)
120
# Decided to push this further down rather than deal with increasingly
121
# complicated landscape of which subcommands do or don't require
122
# a project or an xml file.
124
# config = adios.adiosConfig (args.project + '_skel.xml')
126
# print "XXError reading " + args.project + "_skel.xml. Try running skel xml " + args.project + " first."
89
129
if args.subcommand == 'params':
90
130
#outfilename = args.project + '_params.xml'
97
137
#skel_params.generate_param_file (args.project, outfilename, config, args.group)
98
skel_params.generate_param_file_with_args (config, parser)
138
skel_params.generate_param_file_with_args (parser)
102
142
if args.subcommand == 'source':
103
143
#skel_source.create_sources (params, config, args.project)
104
skel_source.create_sources_with_args (config, parser)
144
skel_source.create_sources_with_args (parser)
108
148
if args.subcommand == 'makefile':
109
149
#skel_makefile.generate_makefiles (params, config)
110
skel_makefile.generate_makefiles_with_args (config, parser)
150
skel_makefile.generate_makefiles_with_args (parser)