From c18c55e97c27ca8f1107dcd61707202abbe850c9 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov <zharinov@users.noreply.github.com> Date: Wed, 25 May 2022 08:48:44 +0300 Subject: [PATCH] fix(clojure): Prioritize Maven-based deps over git-based ones (#15720) --- .../manager/deps-edn/__fixtures__/deps.edn | 1 + .../__snapshots__/extract.spec.ts.snap | 12 ++++++++++++ .../deps-edn/__snapshots__/parser.spec.ts.snap | 3 +++ lib/modules/manager/deps-edn/extract.spec.ts | 5 +++++ lib/modules/manager/deps-edn/extract.ts | 18 +++++++++--------- 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/lib/modules/manager/deps-edn/__fixtures__/deps.edn b/lib/modules/manager/deps-edn/__fixtures__/deps.edn index c1c3a2b5ea..fef799dcd7 100644 --- a/lib/modules/manager/deps-edn/__fixtures__/deps.edn +++ b/lib/modules/manager/deps-edn/__fixtures__/deps.edn @@ -3,6 +3,7 @@ ,,,,persistent-sorted-set,{:mvn/version,"0.1.2"} invalid/package! {:mvn/version "1.2.3"} invalid/version nil + io.github.nextjournal/clerk {:mvn/version "0.7.418"} } :aliases { diff --git a/lib/modules/manager/deps-edn/__snapshots__/extract.spec.ts.snap b/lib/modules/manager/deps-edn/__snapshots__/extract.spec.ts.snap index 7b7a98f13b..81aa96516b 100644 --- a/lib/modules/manager/deps-edn/__snapshots__/extract.spec.ts.snap +++ b/lib/modules/manager/deps-edn/__snapshots__/extract.spec.ts.snap @@ -14,6 +14,18 @@ Array [ ], "replaceString": "{:mvn/version,\\"0.1.2\\"}", }, + Object { + "currentValue": "0.7.418", + "datasource": "clojure", + "depName": "io.github.nextjournal/clerk", + "packageName": "io.github.nextjournal:clerk", + "registryUrls": Array [ + "https://deps.com/foo/bar", + "https://my.auth.com/repo", + "s3://my-bucket/maven/releases", + ], + "replaceString": "{:mvn/version \\"0.7.418\\"}", + }, Object { "currentValue": "1.9.0", "datasource": "clojure", diff --git a/lib/modules/manager/deps-edn/__snapshots__/parser.spec.ts.snap b/lib/modules/manager/deps-edn/__snapshots__/parser.spec.ts.snap index 5c9e49ed08..8e28118109 100644 --- a/lib/modules/manager/deps-edn/__snapshots__/parser.spec.ts.snap +++ b/lib/modules/manager/deps-edn/__snapshots__/parser.spec.ts.snap @@ -123,6 +123,9 @@ Object { "mvn/version": "1.2.3", }, "invalid/version": "nil", + "io.github.nextjournal/clerk": Object { + "mvn/version": "0.7.418", + }, "persistent-sorted-set": Object { "mvn/version": "0.1.2", }, diff --git a/lib/modules/manager/deps-edn/extract.spec.ts b/lib/modules/manager/deps-edn/extract.spec.ts index 39a1cd48d9..f64246cdeb 100644 --- a/lib/modules/manager/deps-edn/extract.spec.ts +++ b/lib/modules/manager/deps-edn/extract.spec.ts @@ -20,6 +20,11 @@ describe('modules/manager/deps-edn/extract', () => { 's3://my-bucket/maven/releases', ], }, + { + depName: 'io.github.nextjournal/clerk', + currentValue: '0.7.418', + datasource: 'clojure', + }, { depName: 'org.clojure/clojure', currentValue: '1.9.0' }, { depName: 'org.clojure/clojure', currentValue: '1.10.0' }, { depName: 'org.clojure/clojurescript', currentValue: '1.10.520' }, diff --git a/lib/modules/manager/deps-edn/extract.ts b/lib/modules/manager/deps-edn/extract.ts index dc4beab353..cfb2970194 100644 --- a/lib/modules/manager/deps-edn/extract.ts +++ b/lib/modules/manager/deps-edn/extract.ts @@ -151,6 +151,15 @@ function extractDependency( dep.depType = depType; } + const mvnVersion = val['mvn/version']; + if (is.string(mvnVersion)) { + dep.datasource = ClojureDatasource.id; + dep.currentValue = mvnVersion; + dep.packageName = packageName.replace('/', ':'); + dep.registryUrls = [...mavenRegistries]; + return dep; + } + resolveGitPackageFromEdnVal(dep, val); resolveGitPackageFromEdnKey(dep, key); @@ -169,15 +178,6 @@ function extractDependency( return dep; } - const mvnVersion = val['mvn/version']; - if (is.string(mvnVersion)) { - dep.datasource = ClojureDatasource.id; - dep.currentValue = mvnVersion; - dep.packageName = packageName.replace('/', ':'); - dep.registryUrls = [...mavenRegistries]; - return dep; - } - return null; } -- GitLab