Ejemplo n.º 1
0
def finalize_sphinx_build(sconf, conf, app):
    target = sconf.builder
    logger.info('starting to finalize the Sphinx build {0}'.format(target))

    if target == 'linkcheck':
        task = app.add('task')
        task.job = printer
        task.args = '{0}: See {1}/{0}/output.txt for output.'.format(builder, conf.paths.branch_output)
    elif target == 'dirhtml':
        for job in (finalize_dirhtml_build, error_pages):
            task = app.add('task')
            task.job = job
            task.args = [sconf, conf]

        if conf.system.branched is True and conf.git.branches.current == 'master':
            link_task = app.add('task')
            link_task.job = create_manual_symlink
            link_task.args = [conf]
            link_task.description = "create the 'manual' symlink"
    elif target == 'epub':
        task = app.add('task')
        task.job = finalize_epub_build
        task.args = [target, conf]
        task.description = 'finalizing epub build'
    elif target == 'man':
        manpage_url_tasks(target, conf, app)
        task = app.add('task')
        task.job = man_tarball
        task.args = [target, conf]
        task.description = "creating tarball for manpages"
    elif target == 'html':
        task = app.add('task')
        task.job = html_tarball
        task.args = [sconf.name, conf]
        task.description = "creating tarball for html archive"
    elif target == 'slides':
        slide_tasks(sconf, conf, app)
    elif target == 'json':
        json_output_tasks(conf, app)
    elif target == 'singlehtml':
        finalize_single_html_tasks(target, conf, app)
    elif target == 'latex':
        pdf_tasks(sconf, conf, app)
    elif target == 'gettext':
        gettext_tasks(conf, app)
Ejemplo n.º 2
0
def finalize_sphinx_build(sconf, conf, app):
    target = sconf.builder
    logger.info('starting to finalize the Sphinx build {0}'.format(target))

    if target == 'linkcheck':
        app.pool = 'serial'
        task = app.add('task')
        task.job = printer
        task.target = os.path.join(conf.paths.projectroot,
                                   conf.paths.branch_output, builder, 'output.txt')
        task.args = '{0}: See {1}/{0}/output.txt for output.'.format(builder, conf.paths.branch_output)
    elif target == 'dirhtml':
        app.pool = 'thread'
        for job in (finalize_dirhtml_build, error_pages):
            task = app.add('task')
            task.job = job
            task.target = os.path.join(conf.paths.projectroot, conf.paths.public_site_output)
            task.dependency = None
            task.args = [sconf, conf]

        if conf.system.branched is True and conf.git.branches.current == 'master':
            link_task = app.add('task')
            link_task.job = create_manual_symlink
            link_task.target = [ t[0] for t in get_public_links(conf) ]
            link_task.dependency = get_config_paths('integration',conf)
            link_task.dependency.append(os.path.join(conf.paths.projectroot,
                                                     conf.paths.public_site_output))
            link_task.args = [conf]
            link_task.description = "create the 'manual' symlink"
    elif target == 'epub':
        app.pool = 'serial'
        task = app.add('task')
        task.job = finalize_epub_build
        task.args = [target, conf]
        task.description = 'finalizing epub build'
    elif target == 'man':
        app.pool = 'thread'
        manpage_url_tasks(target, conf, app)
        task = app.add('task')
        task.job = man_tarball
        task.target = [get_tarball_name('man', conf),
                       get_tarball_name('link-man', conf)]
        task.args = [target, conf]
        task.description = "creating tarball for manpages"
    elif target == 'html':
        app.pool = 'serial'
        task = app.add('task')
        task.job = html_tarball
        task.target = [get_tarball_name('html', conf),
                       get_tarball_name('link-html', conf)]
        task.args = [sconf.name, conf]
        task.description = "creating tarball for html archive"
    elif target == 'slides':
        app.pool = 'thread'
        slide_tasks(sconf, conf, app)
    elif target == 'json':
        app.pool = 'thread'
        json_output_tasks(conf, app)
    elif target == 'singlehtml':
        app.pool = 'thread'
        finalize_single_html_tasks(target, conf, app)
    elif target == 'latex':
        app.pool = 'thread'
        pdf_tasks(sconf, conf, app)
    elif target == 'gettext':
        app.pool = 'thread'
        gettext_tasks(conf, app)
Ejemplo n.º 3
0
def finalize_sphinx_build(sconf, conf):
    target = sconf.builder

    tasks = []
    if target == 'html' and not conf.runstate.fast:
        t = Task(job=html_tarball,
                 args=(sconf.name, sconf.build_output, conf),
                 target=[
                     get_tarball_name('html', conf),
                     get_tarball_name('link-html', conf)
                 ],
                 dependency=None,
                 description="creating tarball for html archive")
        tasks.append(t)
    elif target == 'dirhtml' and not conf.runstate.fast:
        for job in (finalize_dirhtml_build, error_pages):
            t = Task(job=job,
                     args=(sconf, conf),
                     target=os.path.join(conf.paths.projectroot,
                                         conf.paths.public_site_output),
                     dependency=None)
            tasks.append(t)

        if conf.system.branched is True and conf.git.branches.current == 'master':
            deps = conf.system.files.get_configs('integration')
            deps.append(
                os.path.join(conf.paths.projectroot,
                             conf.paths.public_site_output))

            t = Task(job=create_manual_symlink,
                     args=[conf],
                     target=[link[0] for link in get_public_links(conf)],
                     dependency=deps,
                     description='create symlinks')
            tasks.append(t)
    elif target == 'epub':
        t = Task(job=finalize_epub_build,
                 args=(target, conf),
                 description='finalizing epub build',
                 dependency=None,
                 target=True)
        tasks.append(t)
    elif target == 'man':
        t = Task(job=man_tarball,
                 args=(sconf.name, sconf.build_output, conf),
                 target=[
                     get_tarball_name('man', conf),
                     get_tarball_name('link-man', conf)
                 ],
                 dependency=None,
                 description="creating tarball for manpages")

        tasks.extend(manpage_url_tasks(target, conf))
        tasks.append(('final', t))
    elif target == 'slides' and not conf.runstate.fast:
        tasks.extend(slide_tasks(sconf, conf))
    elif target == 'json':
        json_tasks, transfer_op = json_output_tasks(conf)
        tasks.extend(json_tasks)
        tasks.append(('final', transfer_op))  # this is less than ideal
    elif target == 'singlehtml':
        tasks.extend(finalize_single_html_tasks(target, conf))
    elif target == 'latex':
        tasks.extend(pdf_tasks(sconf, conf))
    elif target == 'gettext':
        tasks.extend(gettext_tasks(conf))
    elif target == 'linkcheck':
        msg_str = '{0}: See {1}/{0}/output.txt for output.'
        t = Task(job=printer,
                 args=[msg_str.format(target, conf.paths.branch_output)],
                 target=os.path.join(conf.paths.projectroot,
                                     conf.paths.branch_output, target,
                                     'output.txt'),
                 dependency=None)
        tasks.append(t)

    logger.info('adding {0} finalizing tasks for {1} build'.format(
        len(tasks), target))
    return tasks
Ejemplo n.º 4
0
def finalize_sphinx_build(sconf, conf):
    target = sconf.builder

    tasks = []
    if target == 'html' and not conf.runstate.fast:
        t = Task(job=html_tarball,
                 args=(sconf.name, sconf.build_output, conf),
                 target=[get_tarball_name('html', conf),
                         get_tarball_name('link-html', conf)],
                 dependency=None,
                 description="creating tarball for html archive")
        tasks.append(t)
    elif target == 'dirhtml' and not conf.runstate.fast:
        for job in (finalize_dirhtml_build, error_pages):
            t = Task(job=job,
                     args=(sconf, conf),
                     target=os.path.join(conf.paths.projectroot, conf.paths.public_site_output),
                     dependency=None)
            tasks.append(t)

        if conf.system.branched is True and conf.git.branches.current == 'master':
            deps = conf.system.files.get_configs('integration')
            deps.append(os.path.join(conf.paths.projectroot,
                                     conf.paths.public_site_output))

            t = Task(job=create_manual_symlink,
                     args=[conf],
                     target=[link[0] for link in get_public_links(conf)],
                     dependency=deps,
                     description='create symlinks')
            tasks.append(t)
    elif target == 'epub':
        t = Task(job=finalize_epub_build,
                 args=(target, conf),
                 description='finalizing epub build',
                 dependency=None,
                 target=True)
        tasks.append(t)
    elif target == 'man':
        t = Task(job=man_tarball,
                 args=(sconf.name, sconf.build_output, conf),
                 target=[get_tarball_name('man', conf),
                         get_tarball_name('link-man', conf)],
                 dependency=None,
                 description="creating tarball for manpages")

        tasks.extend(manpage_url_tasks(target, conf))
        tasks.append(('final', t))
    elif target == 'slides' and not conf.runstate.fast:
        tasks.extend(slide_tasks(sconf, conf))
    elif target == 'json':
        json_tasks, transfer_op = json_output_tasks(conf)
        tasks.extend(json_tasks)
        tasks.append(('final', transfer_op))  # this is less than ideal
    elif target == 'singlehtml':
        tasks.extend(finalize_single_html_tasks(target, conf))
    elif target == 'latex':
        tasks.extend(pdf_tasks(sconf, conf))
    elif target == 'gettext':
        tasks.extend(gettext_tasks(conf))
    elif target == 'linkcheck':
        msg_str = '{0}: See {1}/{0}/output.txt for output.'
        t = Task(job=printer,
                 args=[msg_str.format(target, conf.paths.branch_output)],
                 target=os.path.join(conf.paths.projectroot,
                                     conf.paths.branch_output, target, 'output.txt'),
                 dependency=None)
        tasks.append(t)

    logger.info('adding {0} finalizing tasks for {1} build'.format(len(tasks), target))
    return tasks
Ejemplo n.º 5
0
def finalize_sphinx_build(sconf, conf, app):
    target = sconf.builder
    logger.info('starting to finalize the Sphinx build {0}'.format(target))

    if target == 'linkcheck':
        app.pool = 'serial'
        task = app.add('task')
        task.job = printer
        task.target = os.path.join(conf.paths.projectroot,
                                   conf.paths.branch_output, builder,
                                   'output.txt')
        task.args = '{0}: See {1}/{0}/output.txt for output.'.format(
            builder, conf.paths.branch_output)
    elif target == 'dirhtml':
        app.pool = 'thread'
        for job in (finalize_dirhtml_build, error_pages):
            task = app.add('task')
            task.job = job
            task.target = os.path.join(conf.paths.projectroot,
                                       conf.paths.public_site_output)
            task.dependency = None
            task.args = [sconf, conf]

        if conf.system.branched is True and conf.git.branches.current == 'master':
            link_task = app.add('task')
            link_task.job = create_manual_symlink
            link_task.target = [t[0] for t in get_public_links(conf)]
            link_task.dependency = get_config_paths('integration', conf)
            link_task.dependency.append(
                os.path.join(conf.paths.projectroot,
                             conf.paths.public_site_output))
            link_task.args = [conf]
            link_task.description = "create the 'manual' symlink"
    elif target == 'epub':
        app.pool = 'serial'
        task = app.add('task')
        task.job = finalize_epub_build
        task.args = [target, conf]
        task.description = 'finalizing epub build'
    elif target == 'man':
        app.pool = 'thread'
        manpage_url_tasks(target, conf, app)
        task = app.add('task')
        task.job = man_tarball
        task.target = [
            get_tarball_name('man', conf),
            get_tarball_name('link-man', conf)
        ]
        task.args = [target, conf]
        task.description = "creating tarball for manpages"
    elif target == 'html':
        app.pool = 'serial'
        task = app.add('task')
        task.job = html_tarball
        task.target = [
            get_tarball_name('html', conf),
            get_tarball_name('link-html', conf)
        ]
        task.args = [sconf.name, conf]
        task.description = "creating tarball for html archive"
    elif target == 'slides':
        app.pool = 'thread'
        slide_tasks(sconf, conf, app)
    elif target == 'json':
        app.pool = 'thread'
        json_output_tasks(conf, app)
    elif target == 'singlehtml':
        app.pool = 'thread'
        finalize_single_html_tasks(target, conf, app)
    elif target == 'latex':
        app.pool = 'thread'
        pdf_tasks(sconf, conf, app)
    elif target == 'gettext':
        app.pool = 'thread'
        gettext_tasks(conf, app)
Ejemplo n.º 6
0
def finalize_sphinx_build(sconf, conf):
    target = sconf.builder

    tasks = []
    if target == 'html' and not conf.runstate.fast:
        t = Task(job=html_tarball,
                 args=(sconf.name, sconf.build_output, conf),
                 target=[get_tarball_name('html', conf),
                         get_tarball_name('link-html', conf)],
                 dependency=None,
                 description="creating tarball for html archive")
        tasks.append(t)
    elif target == 'dirhtml' and not conf.runstate.fast:
        # We're experiencing some cases were giza seemingly randomly doesn't migrate.
        # Log this to help us figure out what's going on.
        logger.info('Going to migrate {} to {}'.format(
            sconf.fq_build_output,
            os.path.join(conf.paths.projectroot, conf.paths.public_site_output)))

        for job in (finalize_dirhtml_build, error_pages):
            t = Task(job=job,
                     args=(sconf, conf),
                     target=os.path.join(conf.paths.projectroot, conf.paths.public_site_output),
                     dependency=None)
            tasks.append(t)
    elif target == 'epub':
        t = Task(job=finalize_epub_build,
                 args=(target, conf),
                 description='finalizing epub build',
                 dependency=None,
                 target=True)
        tasks.append(t)
    elif target == 'man':
        t = Task(job=man_tarball,
                 args=(sconf.name, sconf.build_output, conf),
                 target=[get_tarball_name('man', conf),
                         get_tarball_name('link-man', conf)],
                 dependency=None,
                 description="creating tarball for manpages")

        tasks.extend(manpage_url_tasks(target, conf))
        tasks.append(('final', t))
    elif target == 'slides' and not conf.runstate.fast:
        tasks.extend(slide_tasks(sconf, conf))
    elif target == 'json':
        json_tasks, transfer_op = json_output_tasks(conf)
        tasks.extend(json_tasks)
        tasks.append(('final', transfer_op))  # this is less than ideal
    elif target == 'singlehtml':
        tasks.extend(finalize_single_html_tasks(target, conf))
    elif target == 'latex':
        tasks.extend(pdf_tasks(sconf, conf))
    elif target == 'gettext':
        tasks.extend(gettext_tasks(conf))
    elif target == 'linkcheck':
        msg_str = '{0}: See {1}/{0}/output.txt for output.'
        t = Task(job=printer,
                 args=[msg_str.format(target, conf.paths.branch_output)],
                 target=os.path.join(conf.paths.projectroot,
                                     conf.paths.branch_output, target, 'output.txt'),
                 dependency=None)
        tasks.append(t)

    logger.debug('adding {0} finalizing tasks for {1} build'.format(len(tasks), target))
    return tasks