##### 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
if not root_only or root_only == is_root):
                    display.vvv("Skipping '%s' for collection build" % to_text(b_abs_path))
                    continue
                if os.path.islink(b_abs_path):
                    b_link_target = os.path.realpath(b_abs_path)
                    if not b_link_target.startswith(b_top_level_dir):
                        display.warning("Skipping '%s' as it is a symbolic link to a directory outside the collection"
                                        % to_text(b_abs_path))
                        continue
                manifest_entry = entry_template.copy()
                manifest_entry['name'] = rel_path
                manifest_entry['ftype'] = 'dir'
                manifest['files'].append(manifest_entry)
                _walk(b_abs_path, b_top_level_dir)
            else:
                if b_item == b'galaxy.yml':
                    continue
                elif any(fnmatch.fnmatch(b_item, b_pattern) for b_pattern, root_only in b_ignore_files
                         if not root_only or root_only == is_root):
                    display.vvv("Skipping '%s' for collection build" % to_text(b_abs_path))
                    continue
                manifest_entry = entry_template.copy()
                manifest_entry['name'] = rel_path
                manifest_entry['ftype'] = 'file'
                manifest_entry['chksum_type'] = 'sha256'
                manifest_entry['chksum_sha256'] = secure_hash(b_abs_path, hash_func=sha256)
                manifest['files'].append(manifest_entry)
    _walk(b_collection_path, b_collection_path)
    return manifest
def _build_manifest(namespace, name, version, authors, readme, tags, description, license_ids, license_file,