From dbfa6b26780e5c8f049c403ad2b35b767790793a Mon Sep 17 00:00:00 2001 From: Casey <casey.duquette@snapchat.com> Date: Fri, 15 Nov 2024 23:14:13 -0800 Subject: [PATCH] feat(manager/conan): Conan 1 package name compatibility (#32425) Co-authored-by: Rhys Arkins <rhys@arkins.net> --- lib/modules/datasource/conan/common.ts | 2 +- lib/modules/manager/conan/__fixtures__/conanfile.txt | 1 + lib/modules/manager/conan/extract.spec.ts | 7 +++++++ lib/modules/manager/conan/extract.ts | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/modules/datasource/conan/common.ts b/lib/modules/datasource/conan/common.ts index e0dfa211dd..c17062a599 100644 --- a/lib/modules/datasource/conan/common.ts +++ b/lib/modules/datasource/conan/common.ts @@ -6,7 +6,7 @@ export const defaultRegistryUrl = 'https://center.conan.io/'; export const datasource = 'conan'; export const conanDatasourceRegex = regEx( - /(?<name>[a-z\-_0-9]+)\/(?<version>[^@/\n]+)(?<userChannel>@\S+\/\S+)/gim, + /(?<name>[a-zA-Z\-_0-9]+)\/(?<version>[^@/\n]+)(?<userChannel>@\S+\/\S+)/gim, ); export function getConanPackage(packageName: string): ConanPackage { diff --git a/lib/modules/manager/conan/__fixtures__/conanfile.txt b/lib/modules/manager/conan/__fixtures__/conanfile.txt index fb8a66eab4..b3efed1210 100644 --- a/lib/modules/manager/conan/__fixtures__/conanfile.txt +++ b/lib/modules/manager/conan/__fixtures__/conanfile.txt @@ -4,6 +4,7 @@ zlib/[~1.2.3, loose=False] fake/8.62.134@test/dev cairo/1.17.2#aff2d03608351db075ec1348a3afc9ff cairo/1.17.2@_/_#aff2d03608351db075ec1348a3afc9ff +Fake/8.62.134@ [build_requires] 7zip/[>1.1 <2.1, include_prerelease=True] diff --git a/lib/modules/manager/conan/extract.spec.ts b/lib/modules/manager/conan/extract.spec.ts index b0df8a12a5..783c74fbdc 100644 --- a/lib/modules/manager/conan/extract.spec.ts +++ b/lib/modules/manager/conan/extract.spec.ts @@ -55,6 +55,13 @@ describe('modules/manager/conan/extract', () => { packageName: 'cairo/1.17.2@_/_', replaceString: 'cairo/1.17.2@_/_#aff2d03608351db075ec1348a3afc9ff', }, + { + currentValue: '8.62.134', + depName: 'Fake', + depType: 'requires', + packageName: 'Fake/8.62.134@_/_', + replaceString: 'Fake/8.62.134', + }, { currentValue: '[>1.1 <2.1, include_prerelease=True]', depName: '7zip', diff --git a/lib/modules/manager/conan/extract.ts b/lib/modules/manager/conan/extract.ts index e4fab9f502..fb869dad2f 100644 --- a/lib/modules/manager/conan/extract.ts +++ b/lib/modules/manager/conan/extract.ts @@ -4,7 +4,7 @@ import type { PackageDependency, PackageFileContent } from '../types'; import { isComment } from './common'; const regex = regEx( - `(?<name>[-_a-z0-9]+)/(?<version>[^@#\n{*"']+)(?<userChannel>@[-_a-zA-Z0-9]+(?:/[^#\n.{*"' ]+|))?#?(?<revision>[-_a-f0-9]+[^\n{*"'])?`, + `(?<name>[-_a-zA-Z0-9]+)/(?<version>[^@#\n{*"']+)(?<userChannel>@[-_a-zA-Z0-9]+(?:/[^#\n.{*"' ]+|))?#?(?<revision>[-_a-f0-9]+[^\n{*"'])?`, ); function setDepType(content: string, originalType: string): string { -- GitLab