diff --git a/swh/loader/package/maven/loader.py b/swh/loader/package/maven/loader.py --- a/swh/loader/package/maven/loader.py +++ b/swh/loader/package/maven/loader.py @@ -4,7 +4,6 @@ # See top-level LICENSE file for more information from datetime import datetime, timezone -import hashlib import json import logging from os import path @@ -29,7 +28,6 @@ from swh.loader.package.loader import ( BasePackageInfo, PackageLoader, - PartialExtID, RawExtrinsicMetadataCore, ) from swh.loader.package.utils import EMPTY_AUTHOR, release_name @@ -46,9 +44,6 @@ logger = logging.getLogger(__name__) -EXTID_TYPE = "maven-jar" -EXTID_VERSION = 0 - @attr.s class MavenPackageInfo(BasePackageInfo): @@ -64,21 +59,8 @@ # default format for maven artifacts MANIFEST_FORMAT = string.Template("$gid $aid $version $url $time") - def extid(self, manifest_format: Optional[string.Template] = None) -> PartialExtID: - """Returns a unique intrinsic identifier of this package info - - ``manifest_format`` allows overriding the class' default MANIFEST_FORMAT""" - manifest_format = manifest_format or self.MANIFEST_FORMAT - manifest = manifest_format.substitute( - { - "gid": self.gid, - "aid": self.aid, - "version": self.version, - "url": self.url, - "time": str(self.time), - } - ) - return (EXTID_TYPE, EXTID_VERSION, hashlib.sha256(manifest.encode()).digest()) + EXTID_TYPE = "maven-jar" + EXTID_VERSION = 0 @classmethod def from_metadata(cls, a_metadata: Dict[str, Any]) -> "MavenPackageInfo": @@ -116,10 +98,9 @@ storage: StorageInterface, url: str, artifacts: Sequence[Dict[str, Any]], - extid_manifest_format: Optional[str] = None, max_content_size: Optional[int] = None, ): - f"""Loader constructor. + """Loader constructor. For now, this is the lister's task output. There is one, and only one, artefact (jar or zip) per version, as guaranteed by @@ -142,10 +123,6 @@ - **version**: artifact's version - extid_manifest_format: template string used to format a manifest, - which is hashed to get the extid of a package. - Defaults to {MavenPackageInfo.MANIFEST_FORMAT!r} - """ super().__init__(storage=storage, url=url, max_content_size=max_content_size) self.artifacts = artifacts # assume order is enforced in the lister diff --git a/swh/loader/package/maven/tests/test_maven.py b/swh/loader/package/maven/tests/test_maven.py --- a/swh/loader/package/maven/tests/test_maven.py +++ b/swh/loader/package/maven/tests/test_maven.py @@ -6,7 +6,6 @@ import hashlib import json from pathlib import Path -import string import pytest @@ -541,31 +540,9 @@ p_info = MavenPackageInfo(**metadata) - expected_manifest = ( - b"al.aldi sprova4j 0.1.0 " - b"https://repo1.maven.org/maven2/al/aldi/sprova4j/0.1.0/sprova4j-0.1.0" - b"-sources.jar 1626109619335" - ) - for manifest_format in [ - string.Template("$aid $gid $version"), - string.Template("$gid $aid"), - string.Template("$gid $aid $version"), - ]: - actual_id = p_info.extid(manifest_format=manifest_format) - assert actual_id != ("maven-jar", hashlib.sha256(expected_manifest).digest(),) - - for manifest_format, expected_manifest in [ - (None, "{gid} {aid} {version} {url} {time}".format(**metadata).encode()), - ]: - actual_id = p_info.extid(manifest_format=manifest_format) - assert actual_id == ( - "maven-jar", - 0, - hashlib.sha256(expected_manifest).digest(), - ) - - with pytest.raises(KeyError): - p_info.extid(manifest_format=string.Template("$a $unknown_key")) + expected_manifest = "{gid} {aid} {version} {url} {time}".format(**metadata).encode() + actual_id = p_info.extid() + assert actual_id == ("maven-jar", 0, hashlib.sha256(expected_manifest).digest(),) def test_jar_snapshot_append(