Skip to content

Commit

Permalink
fix(manager/conan): allow ref with user only (#26516)
Browse files Browse the repository at this point in the history
Co-authored-by: Michael Kriese <[email protected]>
  • Loading branch information
dazze1812 and viceice authored Jan 15, 2024
1 parent c6e52bf commit 5a51173
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
2 changes: 1 addition & 1 deletion lib/modules/manager/conan/__fixtures__/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
class Pkg(ConanFile):
python_requires = "pyreq/0.1@user/channel" # recipe to reuse code from
build_requires = "tool_a/0.2@user/testing", "tool_b/0.2@user/testing"
requires = "req_a/1.0", "req_l/2.1@otheruser/testing"
requires = "req_a/1.0", "req_l/2.1@otheruser/testing", "req_x/6.1@useronly"

requires = [("req_b/0.1@user/testing"),
("req_d/0.2@dummy/stable", "override"),
Expand Down
7 changes: 7 additions & 0 deletions lib/modules/manager/conan/extract.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,13 @@ describe('modules/manager/conan/extract', () => {
packageName: 'req_l/2.1@otheruser/testing',
replaceString: 'req_l/2.1@otheruser/testing',
},
{
currentValue: '6.1',
depName: 'req_x',
depType: 'requires',
packageName: 'req_x/6.1@useronly/_',
replaceString: 'req_x/6.1@useronly',
},
{
currentValue: '0.1',
depName: 'req_b',
Expand Down
5 changes: 4 additions & 1 deletion lib/modules/manager/conan/extract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -52,6 +52,9 @@ export function extractPackageFile(content: string): PackageFileContent | null {
if (matches.groups.userChannel) {
userAndChannel = matches.groups.userChannel;
replaceString = `${depName}/${currentValue}${userAndChannel}`;
if (!userAndChannel.includes('/')) {
userAndChannel = `${userAndChannel}/_`;
}
}
const packageName = `${depName}/${currentValue}${userAndChannel}`;

Expand Down

0 comments on commit 5a51173

Please sign in to comment.