35
37
Skel: Create, run and analyze skeletal I/O applications
36
38
-------------------------------------------------------
37
39
Available subcommands include:
46
48
Use skel help <subcommand> to see detailed options for each subcommand.''')
47
49
parser.add_argument ('subcommand', metavar='subcommand', help='Skel command to execute')
48
parser.add_argument ('project', metavar='project', help='Name of the skel project')
50
#parser.add_argument ('project', metavar='project', help='Name of the skel project')
49
51
#parser.add_argument ('-g', '--group', help='adios group (only valid for skel params)')
54
56
def main(argv=None):
56
58
skel_settings.create_settings_dir_if_needed()
58
61
# install does not require a project, so let's just check for it directly
59
62
if sys.argv[1] == 'install':
65
# Also look for skel help, and print the list of subcommands...
66
if sys.argv[1] == 'help' and len(sys.argv) == 2:
67
print parser.description
70
if sys.argv[1] == 'help':
71
if sys.argv[2] == 'makefile':
72
sys.argv = ["skel", "makefile", "junk", "-h"]
73
skel_makefile.generate_makefiles_with_args (None, parser)
74
elif sys.argv[2] == 'params':
75
sys.argv = ["skel", "params", "junk", "-h"]
76
skel_params.generate_param_file_with_args (None, parser)
77
elif sys.argv[2] == 'replay':
78
sys.argv = ["skel", "replay", "junk", "-h"]
79
elif sys.argv[2] == 'source':
80
sys.argv = ["skel", "source", "junk", "-h"]
81
skel_source.create_sources_with_args (None, parser)
82
elif sys.argv[2] == 'submit':
83
sys.argv = ["skel", "submit", "junk", "-h"]
84
skel_submit.generate_submit_scripts_with_args (parser)
85
elif sys.argv[2] == 'xml':
86
sys.argv = ["skel", "xml", "junk", "-h"]
88
print "Unknown help topic"
62
91
#args = parse_command_line()
64
92
args, unknown = parser.parse_known_args()
66
94
# ignore .xml suffix if used (tab completion)
67
if args.project and args.project.endswith (".xml"):
68
args.project = args.project[:-4]
95
#if args.project and args.project.endswith (".xml"):
96
# args.project = args.project[:-4]
70
98
if args.subcommand == 'install':
101
if args.subcommand == 'template':
102
skel_template.fill_template (parser)
73
105
if args.subcommand == 'xml':
74
skel_xml.create_skel_xml (args.project, parser)
106
skel_xml.create_skel_xml (parser)
77
109
if args.subcommand == 'replay':
78
110
skel_replay.do_replay_with_args (parser)
82
config = adios.adiosConfig (args.project + '_skel.xml')
84
print "Error reading " + args.project + "_skel.xml. Try running skel xml " + args.project + " first."
113
if args.subcommand == 'suite':
114
skel_suite.gen_suite_with_args (parser)
118
# Decided to push this further down rather than deal with increasingly
119
# complicated landscape of which subcommands do or don't require
120
# a project or an xml file.
122
# config = adios.adiosConfig (args.project + '_skel.xml')
124
# print "XXError reading " + args.project + "_skel.xml. Try running skel xml " + args.project + " first."
87
127
if args.subcommand == 'params':
88
128
#outfilename = args.project + '_params.xml'
95
135
#skel_params.generate_param_file (args.project, outfilename, config, args.group)
96
skel_params.generate_param_file_with_args (config, parser)
136
skel_params.generate_param_file_with_args (parser)
100
140
if args.subcommand == 'source':
101
141
#skel_source.create_sources (params, config, args.project)
102
skel_source.create_sources_with_args (config, parser)
142
skel_source.create_sources_with_args (parser)
106
146
if args.subcommand == 'makefile':
107
147
#skel_makefile.generate_makefiles (params, config)
108
skel_makefile.generate_makefiles_with_args (config, parser)
148
skel_makefile.generate_makefiles_with_args (parser)