예제 #1
0
    def prepare_metadata(self):
        # type: () -> None
        """Ensure that project metadata is available.

        Under PEP 517, call the backend hook to prepare the metadata.
        Under legacy processing, call setup.py egg-info.
        """
        assert self.source_dir

        metadata_generator = get_metadata_generator(self)
        with indent_log():
            metadata_generator(self)

        if not self.req:
            if isinstance(parse_version(self.metadata["Version"]), Version):
                op = "=="
            else:
                op = "==="
            self.req = Requirement("".join([
                self.metadata["Name"],
                op,
                self.metadata["Version"],
            ]))
            self.move_to_correct_build_directory()
        else:
            metadata_name = canonicalize_name(self.metadata["Name"])
            if canonicalize_name(self.req.name) != metadata_name:
                logger.warning(
                    'Generating metadata for package %s '
                    'produced metadata for project name %s. Fix your '
                    '#egg=%s fragments.', self.name, metadata_name, self.name)
                self.req = Requirement(metadata_name)
예제 #2
0
    def prepare_metadata(self):
        # type: () -> None
        """Ensure that project metadata is available.

        Under PEP 517, call the backend hook to prepare the metadata.
        Under legacy processing, call setup.py egg-info.
        """
        assert self.source_dir

        metadata_generator = get_metadata_generator(self)
        with indent_log():
            self.metadata_directory = metadata_generator(self)

        if not self.name:
            self.move_to_correct_build_directory()
        else:
            self.warn_on_mismatching_name()