@@ -695,7 +695,7 @@ def pip_requirements_step(path, prefix=None, required=False, tmp_dir=None):
695695 hash (requirements )
696696
697697 def poetry_install_step (
698- path , poetry_export_extra_args = [], prefix = None , required = False
698+ path , poetry_export_extra_args = [], prefix = None , required = False , tmp_dir = None
699699 ):
700700 pyproject_file = path
701701 if os .path .isdir (path ):
@@ -706,7 +706,7 @@ def poetry_install_step(
706706 "poetry configuration not found: {}" .format (pyproject_file )
707707 )
708708 else :
709- step ("poetry" , runtime , path , poetry_export_extra_args , prefix )
709+ step ("poetry" , runtime , path , poetry_export_extra_args , prefix , tmp_dir )
710710 hash (pyproject_file )
711711 pyproject_path = os .path .dirname (pyproject_file )
712712 poetry_lock_file = os .path .join (pyproject_path , "poetry.lock" )
@@ -840,6 +840,7 @@ def commands_step(path, commands):
840840 prefix = prefix ,
841841 poetry_export_extra_args = poetry_export_extra_args ,
842842 required = True ,
843+ tmp_dir = claim .get ("poetry_tmp_dir" )
843844 )
844845
845846 if npm_requirements and runtime .startswith ("nodejs" ):
@@ -915,10 +916,11 @@ def execute(self, build_plan, zip_stream, query):
915916 path ,
916917 poetry_export_extra_args ,
917918 prefix ,
919+ tmp_dir
918920 ) = action [1 :]
919921 log .info ("poetry_export_extra_args: %s" , poetry_export_extra_args )
920922 with install_poetry_dependencies (
921- query , path , poetry_export_extra_args
923+ query , path , poetry_export_extra_args , tmp_dir
922924 ) as rd :
923925 if rd :
924926 if pf :
@@ -1114,7 +1116,7 @@ def install_pip_requirements(query, requirements_file, tmp_dir):
11141116
11151117
11161118@contextmanager
1117- def install_poetry_dependencies (query , path , poetry_export_extra_args ):
1119+ def install_poetry_dependencies (query , path , poetry_export_extra_args , tmp_dir ):
11181120 # TODO:
11191121 # 1. Emit files instead of temp_dir
11201122
@@ -1168,7 +1170,7 @@ def install_poetry_dependencies(query, path, poetry_export_extra_args):
11681170 working_dir = os .getcwd ()
11691171
11701172 log .info ("Installing python dependencies with poetry & pip: %s" , poetry_lock_file )
1171- with tempdir () as temp_dir :
1173+ with tempdir (tmp_dir ) as temp_dir :
11721174
11731175 def copy_file_to_target (file , temp_dir ):
11741176 filename = os .path .basename (file )
0 commit comments