##### SUMMARY

When I publish a collection to Galaxy, I see nothing in my console indicating activity, so I wonder if something is stuck.

Reading the [Collections documentation](https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#building-collections), I can see:

> The command waits until the import process completes before reporting the status back. If you wish to continue without waiting for the import result, use the --no-wait argument and manually look at the import progress in your My Imports page.

But it's not apparent just using the CLI, and it would be nice if there was at least something like a row of dots or a spinner or something (even just `|/-\\` in rotation) to just show that something is happening and the process is not locked up.

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME

`ansible-galaxy collection publish`

##### ADDITIONAL INFORMATION

N/A
"""
    Install Ansible collections to the path specified.
    :param collections: The collections to install, should be a list of tuples with (name, requirement, Galaxy server).
    :param output_path: The path to install the collections to.
    :param apis: A list of GalaxyAPIs to query when searching for a collection.
    :param validate_certs: Whether to validate the certificates if downloading a tarball.
    :param ignore_errors: Whether to ignore any errors when installing the collection.
    :param no_deps: Ignore any collection dependencies and only install the base requirements.
    :param force: Re-install a collection if it has already been installed.
    :param force_deps: Re-install a collection as well as its dependencies if they have already been installed.
    """
    existing_collections = _find_existing_collections(output_path)
    with _tempdir() as b_temp_path:
        dependency_map = _build_dependency_map(collections, existing_collections, b_temp_path, apis, validate_certs,
                                               force, force_deps, no_deps)
        for collection in dependency_map.values():
            try:
                collection.install(output_path, b_temp_path)
            except AnsibleError as err:
                if ignore_errors:
                    display.warning("Failed to install collection %s but skipping due to --ignore-errors being set. "
                                    "Error: %s" % (to_text(collection), to_text(err)))
                else:
                    raise
def validate_collection_name(name):