diff --git a/lib/modules/manager/conan/__fixtures__/conanfile.txt b/lib/modules/manager/conan/__fixtures__/conanfile.txt index d9f3d1d993ed89eee42122b9f7d5120d241b8fd3..fb8a66eab42492bd60872b869895096c01cd0fce 100644 --- a/lib/modules/manager/conan/__fixtures__/conanfile.txt +++ b/lib/modules/manager/conan/__fixtures__/conanfile.txt @@ -1,16 +1,17 @@ [requires] poco/1.9.4 -zlib/[~1.2.3, loose=False] +zlib/[~1.2.3, loose=False] fake/8.62.134@test/dev +cairo/1.17.2#aff2d03608351db075ec1348a3afc9ff cairo/1.17.2@_/_#aff2d03608351db075ec1348a3afc9ff [build_requires] 7zip/[>1.1 <2.1, include_prerelease=True] curl/[~1.2.3, loose=False, include_prerelease=True]@test/dev boost/[>1.1 <2.1] -catch2/[2.8] +catch2/[2.8] openssl/[~=3.0]@test/prod -cmake/[>1.1 || 0.8] +cmake/[>1.1 || 0.8] cryptopp/[1.2.7 || >=1.2.9 <2.0.0]@test/local #commentedout/1.2 # commentedout/3.4 @@ -29,4 +30,4 @@ openssl:shared=True [imports] bin, *.dll -> ./bin # Copies all dll files from packages bin folder to my local "bin" folder -lib, *.dylib* -> ./bin # Copies all dylib files from packages lib folder to my local "bin" folder \ No newline at end of file +lib, *.dylib* -> ./bin # Copies all dylib files from packages lib folder to my local "bin" folder diff --git a/lib/modules/manager/conan/extract.spec.ts b/lib/modules/manager/conan/extract.spec.ts index 632686835a3d36bec2ad508ee54eb85a55d78faf..b0df8a12a5f8782fd3d2944dc29222758acb01f3 100644 --- a/lib/modules/manager/conan/extract.spec.ts +++ b/lib/modules/manager/conan/extract.spec.ts @@ -35,6 +35,16 @@ describe('modules/manager/conan/extract', () => { packageName: 'fake/8.62.134@test/dev', replaceString: 'fake/8.62.134@test/dev', }, + { + autoReplaceStringTemplate: + '{{depName}}/{{newValue}}@_/_{{#if newDigest}}#{{newDigest}}{{/if}}', + currentDigest: 'aff2d03608351db075ec1348a3afc9ff', + currentValue: '1.17.2', + depName: 'cairo', + depType: 'requires', + packageName: 'cairo/1.17.2@_/_', + replaceString: 'cairo/1.17.2#aff2d03608351db075ec1348a3afc9ff', + }, { autoReplaceStringTemplate: '{{depName}}/{{newValue}}@_/_{{#if newDigest}}#{{newDigest}}{{/if}}', diff --git a/lib/modules/manager/conan/extract.ts b/lib/modules/manager/conan/extract.ts index e35e16a2eb8d2330c339420577f280956bfd9f99..e4fab9f50233b7f7d9b9c94dcddbf4d9904b3db9 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-z0-9]+)/(?<version>[^@#\n{*"']+)(?<userChannel>@[-_a-zA-Z0-9]+(?:/[^#\n.{*"' ]+|))?#?(?<revision>[-_a-f0-9]+[^\n{*"'])?`, ); function setDepType(content: string, originalType: string): string {