diff --git a/lib/modules/manager/conan/__fixtures__/conanfile.py b/lib/modules/manager/conan/__fixtures__/conanfile.py index 7c2db16df9374c8166373f436b4d38d999e541e9..6f5a7ecadf111a8752a305a2362be55e19803cb3 100644 --- a/lib/modules/manager/conan/__fixtures__/conanfile.py +++ b/lib/modules/manager/conan/__fixtures__/conanfile.py @@ -12,6 +12,7 @@ class Pkg(ConanFile): requires = (("req_c/1.0@user/stable", "private"), ) requires = ("req_f/1.0@user/stable", ("req_h/3.0@other/beta", "override")) requires = "req_g/[>1.0 <1.8]@user/stable" + requires = "req_z/[>1.0 <1.8, include_prerelease]@user/stable" # requires = "commentedout/[>1.0 <1.8]@user/stable" # requires = "commentedout2/[>1.0 <1.8]@user/stable" requires = (("req_l/1.0@user/stable#bc592346b33fd19c1fbffce25d1e4236", "private"), ) diff --git a/lib/modules/manager/conan/extract.spec.ts b/lib/modules/manager/conan/extract.spec.ts index ec20d05de28f9019421c7f34b2aa37c85e676a25..8513b874eac2ce44b0a0ac507309284103187638 100644 --- a/lib/modules/manager/conan/extract.spec.ts +++ b/lib/modules/manager/conan/extract.spec.ts @@ -201,6 +201,13 @@ describe('modules/manager/conan/extract', () => { packageName: 'req_g/[>1.0 <1.8]@user/stable', replaceString: 'req_g/[>1.0 <1.8]@user/stable', }, + { + currentValue: '[>1.0 <1.8, include_prerelease]', + depName: 'req_z', + depType: 'requires', + packageName: 'req_z/[>1.0 <1.8, include_prerelease]@user/stable', + replaceString: 'req_z/[>1.0 <1.8, include_prerelease]@user/stable', + }, { autoReplaceStringTemplate: '{{depName}}/{{newValue}}@user/stable{{#if newDigest}}#{{newDigest}}{{/if}}', diff --git a/lib/modules/versioning/conan/common.ts b/lib/modules/versioning/conan/common.ts index 3b5bdb4df095caeacf24655d9b0925a5e9c05d0d..9497d96fc274a97ccd9c26cb96cbe1181660fbdf 100644 --- a/lib/modules/versioning/conan/common.ts +++ b/lib/modules/versioning/conan/common.ts @@ -30,7 +30,12 @@ export function makeVersion( export function cleanVersion(version: string): string { if (version) { return version - .replace(regEx(/,|\[|\]|"|include_prerelease=|loose=|True|False/g), '') + .replace( + regEx( + /,|\[|\]|"|include_prerelease=|include_prerelease|loose=|True|False/g, + ), + '', + ) .trim(); } return version; @@ -44,7 +49,7 @@ export function getOptions(input: string): { let loose = true; if (input) { includePrerelease = - input.includes('include_prerelease=True') && + input.includes('include_prerelease') && !input.includes('include_prerelease=False'); loose = input.includes('loose=True') || !input.includes('loose=False'); }