@@ -35,41 +35,45 @@ def clang_tidy_exist(version) -> bool:
3535
3636def clang_tools_binary_url (tool , version ) -> string :
3737 install_os = check_install_os ()
38- return f"https://github.com/muttleyxd/clang-tools-static-binaries/ \
39- releases/download/master-208096c1/{ tool } -{ version } _{ install_os } -amd64"
38+ url = f"https://github.com/muttleyxd/clang-tools-static-binaries/releases/ \
39+ download/master-208096c1/{ tool } -{ version } _{ install_os } -amd64" .replace (" " , "" )
40+ return url
4041
4142
42- def install_clang_format (version ) -> None :
43+ def install_clang_format (version , directory ) -> None :
4344 if clang_format_exist (version ):
4445 return
4546 clang_format_binary_url = clang_tools_binary_url ("clang-format" , version )
4647 clang_format_binary = basename (clang_format_binary_url )
4748 download_file (clang_format_binary_url , clang_format_binary )
48- install_clang_binary (clang_format_binary , f"clang-format-{ version } " )
49+ move_and_chmod_binary (clang_format_binary , f"clang-format-{ version } " , directory )
4950
5051
51- def install_clang_tidy (version ) -> None :
52+ def install_clang_tidy (version , directory ) -> None :
5253 if clang_tidy_exist (version ):
5354 return
5455 clang_tidy_binary_url = clang_tools_binary_url ("clang-tidy" , version )
5556 clang_tidy_binary = basename (clang_tidy_binary_url )
5657 download_file (clang_tidy_binary_url , clang_tidy_binary )
57- install_clang_binary (clang_tidy_binary , f"clang-tidy-{ version } " )
58+ move_and_chmod_binary (clang_tidy_binary , f"clang-tidy-{ version } " , directory )
5859
5960
60- def install_clang_binary (old_file_name , new_file_name ) -> None :
61+ def move_and_chmod_binary (old_file_name , new_file_name , directory ) -> None :
6162 """Move download clang-tools binary and move to bin dir with right permission."""
62- install_os = check_install_os ()
63- if install_os in ['linux' , 'macosx' ]:
64- clang_tools_dir = "/usr/bin"
65- elif install_os == "windows" :
66- clang_tools_dir = "C:/bin"
63+ if directory :
64+ clang_tools_dir = directory
6765 else :
68- raise Exception (f"Not support { install_os } " )
66+ install_os = check_install_os ()
67+ if install_os in ['linux' , 'macosx' ]:
68+ clang_tools_dir = "/usr/bin"
69+ elif install_os == "windows" :
70+ clang_tools_dir = "C:/bin"
71+ else :
72+ raise Exception (f"Not support { install_os } " )
6973 shutil .move (old_file_name , f"{ clang_tools_dir } /{ new_file_name } " )
7074 os .chmod (os .path .join (clang_tools_dir , new_file_name ), 0o777 )
7175
7276
73- def install_clang_tools (version ) -> None :
74- install_clang_format (version )
75- install_clang_tidy (version )
77+ def install_clang_tools (version , directory ) -> None :
78+ install_clang_format (version , directory )
79+ install_clang_tidy (version , directory )
0 commit comments