@@ -707,7 +707,7 @@ def pip_requirements_step(path, prefix=None, required=False, tmp_dir=None):
707707 hash (requirements )
708708
709709 def poetry_install_step (
710- path , poetry_export_extra_args = [], prefix = None , required = False
710+ path , poetry_export_extra_args = [], prefix = None , required = False , tmp_dir = None
711711 ):
712712 pyproject_file = path
713713 if os .path .isdir (path ):
@@ -718,7 +718,7 @@ def poetry_install_step(
718718 "poetry configuration not found: {}" .format (pyproject_file )
719719 )
720720 else :
721- step ("poetry" , runtime , path , poetry_export_extra_args , prefix )
721+ step ("poetry" , runtime , path , poetry_export_extra_args , prefix , tmp_dir )
722722 hash (pyproject_file )
723723 pyproject_path = os .path .dirname (pyproject_file )
724724 poetry_lock_file = os .path .join (pyproject_path , "poetry.lock" )
@@ -849,6 +849,7 @@ def commands_step(path, commands):
849849 prefix = prefix ,
850850 poetry_export_extra_args = poetry_export_extra_args ,
851851 required = True ,
852+ tmp_dir = claim .get ("poetry_tmp_dir" ),
852853 )
853854
854855 if npm_requirements and runtime .startswith ("nodejs" ):
@@ -949,15 +950,12 @@ def execute(self, build_plan, zip_stream, query):
949950 # XXX: timestamp=0 - what actually do with it?
950951 zs .write_dirs (rd , prefix = prefix , timestamp = 0 )
951952 elif cmd == "poetry" :
952- (
953- runtime ,
954- path ,
955- poetry_export_extra_args ,
956- prefix ,
957- ) = action [1 :]
953+ (runtime , path , poetry_export_extra_args , prefix , tmp_dir ) = action [
954+ 1 :
955+ ]
958956 log .info ("poetry_export_extra_args: %s" , poetry_export_extra_args )
959957 with install_poetry_dependencies (
960- query , path , poetry_export_extra_args
958+ query , path , poetry_export_extra_args , tmp_dir
961959 ) as rd :
962960 if rd :
963961 if pf :
@@ -1177,7 +1175,7 @@ def install_pip_requirements(query, requirements_file, tmp_dir):
11771175
11781176
11791177@contextmanager
1180- def install_poetry_dependencies (query , path , poetry_export_extra_args ):
1178+ def install_poetry_dependencies (query , path , poetry_export_extra_args , tmp_dir ):
11811179 # TODO:
11821180 # 1. Emit files instead of temp_dir
11831181
@@ -1231,7 +1229,7 @@ def install_poetry_dependencies(query, path, poetry_export_extra_args):
12311229 working_dir = os .getcwd ()
12321230
12331231 log .info ("Installing python dependencies with poetry & pip: %s" , poetry_lock_file )
1234- with tempdir () as temp_dir :
1232+ with tempdir (tmp_dir ) as temp_dir :
12351233
12361234 def copy_file_to_target (file , temp_dir ):
12371235 filename = os .path .basename (file )
0 commit comments