Skip to content

Commit 2bc0cb9

Browse files
committed
Add Maven support for purl2url: Add support of repository_url
1 parent 81cf995 commit 2bc0cb9

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/packageurl/contrib/purl2url.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,9 @@ def build_maven_repo_url(purl):
327327

328328
base_url = default_maven_repository
329329

330+
if purl_data.qualifiers and "repository_url" in purl_data.qualifiers:
331+
base_url = purl_data.qualifiers["repository_url"]
332+
330333
if namespace and name and version:
331334
maven_namespace = namespace.replace(".", "/")
332335
return f"{base_url}/{maven_namespace}/{name}/{version}"
@@ -396,6 +399,9 @@ def build_maven_download_url(purl):
396399

397400
base_url = default_maven_repository
398401

402+
if purl_data.qualifiers and "repository_url" in purl_data.qualifiers:
403+
base_url = purl_data.qualifiers["repository_url"]
404+
399405
if namespace and name and version:
400406
maven_namespace = namespace.replace(".", "/")
401407
return f"{base_url}/{maven_namespace}/{name}/{version}/{name}-{version}.jar"

tests/contrib/test_purl2url.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ def test_purl2url_get_download_url():
9494
"pkg:gitlab/tg1999/firebase@1a122122?version_prefix=v": "https://gitlab.com/tg1999/firebase/-/archive/v1a122122/firebase-v1a122122.tar.gz",
9595
"pkg:gitlab/hoppr/[email protected]": "https://gitlab.com/hoppr/hoppr/-/archive/v1.11.1-dev.2/hoppr-v1.11.1-dev.2.tar.gz",
9696
"pkg:maven/org.apache.commons/[email protected]": "https://repo.maven.apache.org/maven2/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.jar",
97+
"pkg:maven/org.apache.commons/[email protected]?repository_url=https://repo1.maven.org/maven2": "https://repo1.maven.org/maven2/org/apache/commons/commons-io/1.3.2/commons-io-1.3.2.jar",
9798
# From `download_url` qualifier
9899
"pkg:github/yarnpkg/[email protected]?download_url=https://github.com/yarnpkg/yarn/releases/download/v1.3.2/yarn-v1.3.2.tar.gz&version_prefix=v": "https://github.com/yarnpkg/yarn/releases/download/v1.3.2/yarn-v1.3.2.tar.gz",
99100
"pkg:generic/lxc-master.tar.gz?download_url=https://salsa.debian.org/lxc-team/lxc/-/archive/master/lxc-master.tar.gz": "https://salsa.debian.org/lxc-team/lxc/-/archive/master/lxc-master.tar.gz",

0 commit comments

Comments
 (0)