@@ -165,7 +165,6 @@ def __init__(self, srcdir, config_settings=None, python_executable=sys.executabl
165
165
backend_path = self ._build_system .get ('backend-path' ),
166
166
python_executable = python_executable ,
167
167
)
168
- self ._prepared_metadata_directories = {} # type: Dict[str, str]
169
168
170
169
@property
171
170
def python_executable (self ): # type: () -> Union[bytes, Text]
@@ -239,7 +238,7 @@ def prepare(self, distribution, outdir): # type: (str, str) -> Optional[str]
239
238
try :
240
239
with _working_directory (self .srcdir ):
241
240
basename = prepare (outdir , self .config_settings , _allow_fallback = False ) # type: str
242
- self . _prepared_metadata_directories [ distribution ] = path = os .path .join (outdir , basename )
241
+ path = os .path .join (outdir , basename )
243
242
except pep517 .wrappers .BackendUnavailable :
244
243
raise BuildException ("Backend '{}' is not available." .format (self ._backend ))
245
244
except pep517 .wrappers .HookMissing :
@@ -248,7 +247,7 @@ def prepare(self, distribution, outdir): # type: (str, str) -> Optional[str]
248
247
raise BuildBackendException ('Backend operation failed: {!r}' .format (e ))
249
248
return path
250
249
251
- def build (self , distribution , outdir ): # type: (str, str) -> str
250
+ def build (self , distribution , outdir , metadata = None ): # type: (str, str, Optional[str] ) -> str
252
251
"""
253
252
Build a distribution.
254
253
@@ -265,12 +264,9 @@ def build(self, distribution, outdir): # type: (str, str) -> str
265
264
else :
266
265
os .mkdir (outdir )
267
266
268
- try :
269
- metadata_directory = self ._prepared_metadata_directories .pop (distribution )
270
- except KeyError :
271
- kwargs = {} # type: Dict[str, str]
272
- else :
273
- kwargs = {'metadata_directory' : metadata_directory }
267
+ kwargs = {}
268
+ if metadata is not None :
269
+ kwargs ['metadata_directory' ] = metadata
274
270
275
271
try :
276
272
with _working_directory (self .srcdir ):
0 commit comments