def METHOD_NAME(self):
    """Ensures that all required elements of meta-data are supplied.
    name, version, URL, (author and author_email) or
    (maintainer and maintainer_email)).
    Warns if any are missing.
    """
    metadata = self.distribution.metadata
    missing = []
    for attr in ('name', 'version', 'url'):
        if not (hasattr(metadata, attr) and getattr(metadata, attr)):
            missing.append(attr)
    if missing:
        self.warn("missing required meta-data: %s"  % ', '.join(missing))
    if metadata.author:
        if not metadata.author_email:
            self.warn("missing meta-data: if 'author' supplied, " +
                      "'author_email' must be supplied too")
    elif metadata.maintainer:
        if not metadata.maintainer_email:
            self.warn("missing meta-data: if 'maintainer' supplied, " +
                      "'maintainer_email' must be supplied too")
    else:
        self.warn("missing meta-data: either (author and author_email) " +
                  "or (maintainer and maintainer_email) " +
                  "must be supplied")