def copy_output_artifact()

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