2121_ARGS_TYPE_ALLOWED = [
2222 "cname" ,
2323 "cname_base" ,
24+ "commit_id" ,
2425 "features" ,
2526 "platforms" ,
2627 "flags" ,
2728 "elements" ,
2829 "arch" ,
2930 "version" ,
31+ "version_and_commit_id" ,
3032 "graph" ,
3133]
3234
@@ -41,10 +43,11 @@ def main() -> None:
4143 parser = argparse .ArgumentParser ()
4244
4345 parser .add_argument ("--arch" , dest = "arch" )
46+ parser .add_argument ("--cname" , dest = "cname" )
47+ parser .add_argument ("--commit" , dest = "commit" )
4448 parser .add_argument ("--feature-dir" , default = "features" )
45- parser .add_argument ("--cname" )
46- parser .add_argument ("--default-arch" )
47- parser .add_argument ("--default-version" )
49+ parser .add_argument ("--default-arch" , dest = "default_arch" )
50+ parser .add_argument ("--default-version" , dest = "default_version" )
4851 parser .add_argument ("--version" , dest = "version" )
4952
5053 parser .add_argument (
@@ -68,7 +71,7 @@ def main() -> None:
6871
6972 arch = args .arch
7073 flavor = None
71- commit_id = None
74+ commit_id = args . commit
7275 gardenlinux_root = path .dirname (args .feature_dir )
7376 version = args .version
7477
@@ -80,8 +83,7 @@ def main() -> None:
8083
8184 if version is None or version == "" :
8285 try :
83- version_data = get_version_and_commit_id_from_files (gardenlinux_root )
84- version = f"{ version_data [0 ]} -{ version_data [1 ]} "
86+ version , commit_id = get_version_and_commit_id_from_files (gardenlinux_root )
8587 except RuntimeError as exc :
8688 logging .debug (
8789 "Failed to parse version information for GL root '{0}': {1}" .format (
@@ -92,7 +94,7 @@ def main() -> None:
9294 version = args .default_version
9395
9496 if args .cname :
95- cname = CName (args .cname , arch = arch , version = version )
97+ cname = CName (args .cname , arch = arch , commit_id = commit_id , version = version )
9698
9799 arch = cname .arch
98100 flavor = cname .flavor
@@ -108,7 +110,7 @@ def main() -> None:
108110 "Architecture could not be determined and no default architecture set"
109111 )
110112
111- if version is None or version == "" and (args .type in ("cname" , "version" )):
113+ if version is None or version == "" and (args .type in ("cname" , "commit_id" , " version" , "version_and_commit_id " )):
112114 raise RuntimeError ("Version not specified and no default version set" )
113115
114116 feature_dir_name = path .basename (args .feature_dir )
@@ -160,7 +162,11 @@ def main() -> None:
160162 print ("," .join (features_by_type ["element" ]))
161163 elif args .type == "flags" :
162164 print ("," .join (features_by_type ["flag" ]))
165+ elif args .type == "commit_id" :
166+ print (commit_id )
163167 elif args .type == "version" :
168+ print (version )
169+ elif args .type == "version_and_commit_id" :
164170 print (f"{ version } -{ commit_id } " )
165171
166172
0 commit comments