'Wrapper to all build functions
Executes the necessary builds for this task and returns whether the
build was successful or not.
:returns: Build outcomes with keys for html, search, localmedia, pdf,
and epub
:rtype: dict'

def build_docs(self):

    self.build_env.update_build(state=BUILD_STATE_BUILDING)
    before_build.send(sender=self.version)
    outcomes = defaultdict((lambda : False))
    with self.project.repo_nonblockinglock(version=self.version, max_lock_age=getattr(settings, 'REPO_LOCK_SECONDS', 30)):
        outcomes['html'] = self.build_docs_html()
        outcomes['search'] = self.build_docs_search()
        outcomes['localmedia'] = self.build_docs_localmedia()
        outcomes['pdf'] = self.build_docs_pdf()
        outcomes['epub'] = self.build_docs_epub()
    after_build.send(sender=self.version)
    return outcomes
