def clone_repos()

in common.py [0:0]


def clone_repos():
    """Clone Swift and dependencies in parallel.

    >>> import tempfile
    >>> set_swift_branch('main')
    >>> tmpdir = tempfile.mkdtemp()
    >>> with DirectoryContext(tmpdir):
    ...     clone_repos()
    >>> repos = os.listdir(tmpdir)
    >>> check_execute(['rm', '-rf', tmpdir])
    0
    >>> repos #doctest: +NORMALIZE_WHITESPACE
    ['llvm-project', 'cmark', 'llbuild', 'ninja', 'swift',
     'swift-corelibs-foundation', 'swift-corelibs-libdispatch',
     'swift-corelibs-xctest', 'swiftpm']
    """
    cpu_count = multiprocessing.cpu_count()
    workspace = private_workspace('.')
    repos = [
        '{} git@github.com:apple/llvm-project.git '
        '{}/llvm-project '.format(
            branches[swift_branch]['llvm-project'], workspace
        ),
        '{} git@github.com:apple/swift.git {}/swift '.format(
            branches[swift_branch]['swift'], workspace
        ),
        '{} git@github.com:apple/swift-cmark.git {}/cmark '.format(
            branches[swift_branch]['cmark'], workspace
        ),
        '{} git@github.com:ninja-build/ninja.git {}/ninja '.format(
            branches[swift_branch]['ninja'], workspace
        ),
        '{} git@github.com:apple/swift-llbuild.git {}/llbuild '.format(
            branches[swift_branch]['llbuild'], workspace
        ),
        '{} git@github.com:apple/swift-package-manager.git '
        '{}/swiftpm '.format(
            branches[swift_branch]['swiftpm'], workspace
        ),
        '{} git@github.com:apple/swift-corelibs-foundation.git '
        '{}/swift-corelibs-foundation '.format(
            branches[swift_branch]['swift-corelibs-foundation'], workspace
        ),
        '{} git@github.com:apple/swift-corelibs-libdispatch.git '
        '{}/swift-corelibs-libdispatch '.format(
            branches[swift_branch]['swift-corelibs-libdispatch'], workspace
        ),
        '{} git@github.com:apple/swift-corelibs-xctest.git '
        '{}/swift-corelibs-xctest '.format(
            branches[swift_branch]['swift-corelibs-xctest'], workspace
        ),
        '{} git@github.com:apple/swift-argument-parser.git '
        '{}/swift-argument-parser '.format(
            branches[swift_branch]['swift-argument-parser'], workspace
        ),
        '{} git@github.com:apple/swift-driver.git '
        '{}/swift-driver '.format(
            branches[swift_branch]['swift-driver'], workspace
        ),
        '{} git@github.com:jpsim/Yams.git '
        '{}/yams '.format(
            branches[swift_branch]['yams'], workspace
        ),
        '{} git@github.com:apple/swift-tools-support-core.git '
        '{}/swift-tools-support-core '.format(
            branches[swift_branch]['swift-tools-support-core'], workspace
        ),
        '{} git@github.com:apple/swift-crypto.git '
        '{}/swift-crypto '.format(
            branches[swift_branch]['swift-crypto'], workspace
        ),
        '{} git@github.com:apple/swift-atomics.git '
        '{}/swift-atomics '.format(
            branches[swift_branch]['swift-atomics'], workspace
        ),
        '{} git@github.com:apple/swift-collections.git '
        '{}/swift-collections '.format(
            branches[swift_branch]['swift-collections'], workspace
        ),
        '{} git@github.com:apple/swift-numerics.git '
        '{}/swift-numerics '.format(
            branches[swift_branch]['swift-numerics'], workspace
        ),
        '{} git@github.com:apple/swift-system.git '
        '{}/swift-system '.format(
            branches[swift_branch]['swift-system'], workspace
        ),
    ]

    process0 = subprocess.Popen([
        'xargs', '-P%s' % cpu_count, '-n3',
        'bash', '-c', 'set -x; git clone -q -b "$0" --recursive "$1" "$2"'
    ], stdin=subprocess.PIPE)

    for repo in repos:
        process0.stdin.write(repo)

    process0.stdin.close()

    assert process0.wait() == 0