def sphinx_content_preperation(app, conf): # Download embedded git repositories and then run migrations before doing # anything else. with app.context() as asset_app: asset_app.extend_queue(assets_tasks(conf)) with app.context() as migration_app: migration_app.extend_queue(migration_tasks(conf)) # Copy all source to the ``build/<branch>/source`` directory. with Timer('migrating source to build'): with app.context(randomize=True) as source_app: for (_, (build_config, sconf)) in get_restricted_builder_jobs(conf): source_app.extend_queue(source_tasks(build_config, sconf)) # load all generated content and create tasks. with Timer('loading generated content'): for (_, (build_config, sconf)) in get_restricted_builder_jobs(conf): for content, func in build_config.system.content.task_generators: app.add(Task(job=func, args=[build_config], target=True)) app.randomize = True results = app.run() app.reset() for task_group in results: app.extend_queue(task_group) for ((edition, language, builder), (build_config, sconf)) in get_restricted_builder_jobs(conf): # these functions all return tasks app.extend_queue(image_tasks(build_config, sconf)) for content_generator in (robots_txt_tasks, intersphinx_tasks, table_tasks, hash_tasks): app.extend_queue(content_generator(build_config)) dependency_refresh_app = app.add('app') dependency_refresh_app.extend_queue( refresh_dependency_tasks(build_config)) # once the source is prepared, we dump a dict with md5 hashes of all # files, so we can do better dependency resolution the next time. app.extend_queue(dump_file_hash_tasks(build_config)) # we transfer images to the latex directory directly because offset # images are included using raw latex, and Sphinx doesn't know how # to copy images in this case. app.extend_queue(latex_image_transfer_tasks(build_config, sconf)) msg = 'added source tasks for ({0}, {1}, {2}) in {3}' logger.debug( msg.format(builder, language, edition, build_config.paths.branch_source))
def images(args): c = fetch_config(args) with BuildApp.new(pool_type=c.runstate.runner, pool_size=c.runstate.pool_size, force=c.runstate.force).context() as app: if c.runstate.clean_generated is True: app.extend_queue(image_clean(c)) else: for (_, (bconf, sconf)) in get_restricted_builder_jobs(c): app.extend_queue(image_tasks(bconf, sconf))
def sphinx_content_preperation(app, conf): # Download embedded git repositories and then run migrations before doing # anything else. with app.context() as asset_app: asset_app.extend_queue(assets_tasks(conf)) with app.context() as migration_app: migration_app.extend_queue(migration_tasks(conf)) # Copy all source to the ``build/<branch>/source`` directory. with Timer('migrating source to build'): with app.context(randomize=True) as source_app: for (_, (build_config, sconf)) in get_restricted_builder_jobs(conf): source_app.extend_queue(source_tasks(build_config, sconf)) # load all generated content and create tasks. with Timer('loading generated content'): for (_, (build_config, sconf)) in get_restricted_builder_jobs(conf): for content, func in build_config.system.content.task_generators: app.add(Task(job=func, args=[build_config], target=True)) app.randomize = True results = app.run() app.reset() for task_group in results: app.extend_queue(task_group) for ((edition, language, builder), (build_config, sconf)) in get_restricted_builder_jobs(conf): # these functions all return tasks app.extend_queue(image_tasks(build_config, sconf)) for content_generator in (robots_txt_tasks, intersphinx_tasks, hash_tasks): app.extend_queue(content_generator(build_config)) dependency_refresh_app = app.add('app') dependency_refresh_app.extend_queue(refresh_dependency_tasks(build_config)) # once the source is prepared, we dump a dict with md5 hashes of all # files, so we can do better dependency resolution the next time. app.extend_queue(dump_file_hash_tasks(build_config)) # we transfer images to the latex directory directly because offset # images are included using raw latex, and Sphinx doesn't know how # to copy images in this case. app.extend_queue(latex_image_transfer_tasks(build_config, sconf)) msg = 'added source tasks for ({0}, {1}, {2}) in {3}' logger.debug(msg.format(builder, language, edition, build_config.paths.branch_source))