File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1111import pathlib
1212import shutil
1313import subprocess
14+ import platform
15+ import time
1416from python .runfiles import runfiles
1517
1618runfiles = runfiles .Create ()
4244script = runfiles .Rlocation (opts .pkg_install_script )
4345
4446if destdir .exists () and opts .cleanup :
45- shutil .rmtree (destdir )
46-
47+ if platform .system () == 'Windows' :
48+ # On Windows we might have virus scanner still looking at the path so
49+ # attempt removal a couple of times sleeping between each attempt.
50+ for attempt in [1 , 2 ]:
51+ try :
52+ shutil .rmtree (destdir )
53+ break
54+ except OSError as e :
55+ if e .winerror == 32 :
56+ time .sleep (attempt )
57+ else :
58+ raise
59+ else :
60+ shutil .rmtree (destdir )
4761destdir .mkdir (parents = True , exist_ok = True )
4862subprocess .run ([script , "--destdir" , destdir ], check = True )
4963
You can’t perform that action at this time.
0 commit comments