in lib/output_artifact.py [0:0]
def copy_output_artifact(self, fyle):
try:
if os.path.isfile(fyle):
shutil.copy(fyle, self.artifacts_dir)
return
if os.path.isdir(fyle):
shutil.copytree(fyle, self.artifacts_dir, dirs_exist_ok=True)
return
raise FileNotFoundError
except FileNotFoundError as e:
if "phony_outputs" not in self.job_args:
raise MissingOutput() from e
if self.job_args["phony_outputs"] is None:
raise MissingOutput() from e
if not self.job_args["phony_outputs"]:
# User supplied an empty list of phony outputs, so all outputs
# are considered phony
return
if fyle in self.job_args["phony_outputs"]:
return
raise MissingOutput() from e