Returns the full path, relative to the root of a Maven repository,
        of the current artifact, using Maven's conventions.

        In particular, it will be:

            <groupId with "." replaced by <separator>>[<separator><artifactId><separator>[<version><separator><basename obtained via getFileName()>]]

        By default, <separator>=os.sep

def getPath(self, suffix=None, extension="jar", separator=os.sep):
        """
        Returns the full path, relative to the root of a Maven repository,
        of the current artifact, using Maven's conventions.

        In particular, it will be:

            <groupId with "." replaced by <separator>>[<separator><artifactId><separator>[<version><separator><basename obtained via getFileName()>]]

        By default, <separator>=os.sep
        """

        assert (self._groupId is not None)

        resultComponents = [
            self._groupId.replace(".", separator)
        ]

        if self._artifactId is not None:
            resultComponents.append(self._artifactId)

            version = self._version
            if version is not None:
                resultComponents.append(version.getRawString())
                resultComponents.append(self.getFileName(suffix, extension))

        return separator.join(resultComponents)