1414)
1515
1616symlink_table = {
17- "go" : [ "1.16" , "1.17" , "1.18" , "1.19" , "1.20" , "1.21" , "1.22" , "1.23" , "1.24" ] ,
18- "java" : [ "8" , "11" , "17" , "18" , "19" , "20" , "21" , "22" , "23" , "24" ] ,
19- "node" : [ "12" , "14" , "16" , "17" , "18" , "19" , "20" , "21" , "22" , "23" ] ,
20- "php" : [ "7.3" , "7.4" , "8.0" , "8.1" , "8.2" , "8.3" , "8.4" ] ,
21- "python" : [ "2.7" , "3.7" , "3.8" , "3.9" , "3.10" , "3.11" , "3.12" , "3.13" ] ,
22- "ruby" : [ "2.6" , "3.7" , "3.0" , "3.1" , "3.2" , "3.3" , "3.4" ] ,
23- "rust" : [ "1" ] ,
17+ "go" : "[0-9]{1,}.[0-9]{1,}" ,
18+ "java" : "[0-9]{1,}" ,
19+ "node" : "[0-9]{1,}" ,
20+ "php" : "[0-9]{1,}.[0-9]{1,}" ,
21+ "python" : "[0-9]{1,}.[0-9]{1,}" ,
22+ "ruby" : "[0-9]{1,}.[0-9]{1,}" ,
23+ "rust" : "[0-9]{1,}" ,
2424}
2525
2626
@@ -32,22 +32,19 @@ def upload(filename, filepath):
3232
3333def upload_list (stack_name , dist_dir ):
3434 for root , _ , files in os .walk (os .path .join (dist_dir , stack_name )):
35- for _filename in files :
35+ for _filename in files :
3636 if _filename .startswith (stack_name ) and _filename .endswith (".tar.gz" ):
3737 filename = os .path .join ("stacks" , stack_name , _filename )
3838 filepath = os .path .join (root , _filename )
3939 upload (filename , filepath )
4040 if stack_name in symlink_table :
41- for symlink_version in symlink_table [stack_name ]:
42- prefix = f"stacks/{ stack_name } /{ stack_name } -{ symlink_version } "
43- if filename .startswith (prefix ):
44- symlink (stack_name , symlink_version )
45-
46-
47- def repair_symlink ():
48- for stack_name , versions in symlink_table .items ():
49- for version in versions :
50- symlink (stack_name , version )
41+ version_regex = symlink_table [stack_name ]
42+ prefix = f"stacks/{ stack_name } /{ stack_name } -"
43+ version = filename .replace (prefix , "" ).split ("-" )[0 ]
44+ symlink_version = re .search (version_regex , version ).group ()
45+ prefix += symlink_version
46+ if filename .startswith (prefix ):
47+ symlink (stack_name , symlink_version )
5148
5249
5350def symlink (stack_name , version ):
@@ -69,8 +66,6 @@ def symlink(stack_name, version):
6966 action = sys .argv [1 ]
7067 if action == "upload" :
7168 upload_list (sys .argv [2 ], sys .argv [3 ])
72- elif action == "repair" :
73- repair_symlink ()
7469 elif action == "symlink" :
7570 symlink (sys .argv [2 ], sys .argv [3 ])
7671 else :
0 commit comments