conan-io / docs

conan.io reStructuredText documentation
http://docs.conan.io
MIT License
110 stars 361 forks source link

fix typo in replace_requires example #3913

Open kambala-decapitator opened 1 day ago

kambala-decapitator commented 7 hours ago

Could you explain the meaning of such construct via a use case (or possibly a real world example)? I don't think I understand what kind of replacement should occur and what would be the difference to a plain *.

Also, not sure I saw other examples of [*] in docs.

memsharded commented 5 hours ago

It is a version range, as defined in https://docs.conan.io/2/tutorial/versioning/version_ranges.html

There are some explicit examples in some points of the docs as: https://docs.conan.io/2/examples/tools/meson/create_your_first_package.html

In short, it is a version range that means "any", and as such it will resolve to the latest available version.

The replace_requires "*" is a place holder replacement: https://docs.conan.io/2/reference/config_files/profiles.html#replace-requires

Means:

[replace_requires]
zlib/*: zlibng/*

It will replace an occurence of zlib/1.2.3 for a new require to zlibng/1.2.3. If you put zlib/*: zlibng/[*] that means zlib/1.2.3 would be replaced by zlibng/[*] which could resolve to any later version, such as zlibng/2.3.