conan-server 2.3.0__tar.gz → 2.3.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. {conan-server-2.3.0/conan_server.egg-info → conan-server-2.3.1}/PKG-INFO +1 -1
  2. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/local.py +4 -3
  3. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/export_pkg.py +2 -1
  4. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/detect_api.py +9 -4
  5. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/runner/docker.py +2 -2
  6. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/presets.py +17 -13
  7. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/toolchain/toolchain.py +2 -1
  8. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/visual.py +5 -2
  9. {conan-server-2.3.0 → conan-server-2.3.1/conan_server.egg-info}/PKG-INFO +1 -1
  10. {conan-server-2.3.0 → conan-server-2.3.1}/conans/__init__.py +1 -1
  11. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conf/__init__.py +2 -2
  12. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conf/detect_vs.py +1 -1
  13. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/compatibility.py +29 -12
  14. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/graph.py +9 -2
  15. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/graph_binaries.py +1 -1
  16. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/graph_builder.py +9 -3
  17. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/install_graph.py +1 -1
  18. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/conf.py +1 -1
  19. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/graph_lock.py +13 -8
  20. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/recipe_ref.py +5 -0
  21. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/requires.py +3 -10
  22. {conan-server-2.3.0 → conan-server-2.3.1}/LICENSE.md +0 -0
  23. {conan-server-2.3.0 → conan-server-2.3.1}/MANIFEST.in +0 -0
  24. {conan-server-2.3.0 → conan-server-2.3.1}/README.md +0 -0
  25. {conan-server-2.3.0 → conan-server-2.3.1}/conan/__init__.py +0 -0
  26. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/__init__.py +0 -0
  27. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/conan_api.py +0 -0
  28. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/model.py +0 -0
  29. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/output.py +0 -0
  30. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/__init__.py +0 -0
  31. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/cache.py +0 -0
  32. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/command.py +0 -0
  33. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/config.py +0 -0
  34. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/download.py +0 -0
  35. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/export.py +0 -0
  36. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/graph.py +0 -0
  37. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/install.py +0 -0
  38. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/list.py +0 -0
  39. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/lockfile.py +0 -0
  40. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/new.py +0 -0
  41. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/profiles.py +0 -0
  42. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/remotes.py +0 -0
  43. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/remove.py +0 -0
  44. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/search.py +0 -0
  45. {conan-server-2.3.0 → conan-server-2.3.1}/conan/api/subapi/upload.py +0 -0
  46. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/__init__.py +0 -0
  47. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/args.py +0 -0
  48. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/cli.py +0 -0
  49. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/command.py +0 -0
  50. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/__init__.py +0 -0
  51. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/build.py +0 -0
  52. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/cache.py +0 -0
  53. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/config.py +0 -0
  54. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/create.py +0 -0
  55. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/download.py +0 -0
  56. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/editable.py +0 -0
  57. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/export.py +0 -0
  58. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/graph.py +0 -0
  59. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/inspect.py +0 -0
  60. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/install.py +0 -0
  61. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/list.py +0 -0
  62. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/lock.py +0 -0
  63. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/new.py +0 -0
  64. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/pkglist.py +0 -0
  65. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/profile.py +0 -0
  66. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/remote.py +0 -0
  67. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/remove.py +0 -0
  68. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/search.py +0 -0
  69. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/source.py +0 -0
  70. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/test.py +0 -0
  71. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/upload.py +0 -0
  72. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/commands/version.py +0 -0
  73. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/exit_codes.py +0 -0
  74. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/__init__.py +0 -0
  75. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/graph/__init__.py +0 -0
  76. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/graph/graph.py +0 -0
  77. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/graph/graph_info_text.py +0 -0
  78. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/graph/info_graph_dot.py +0 -0
  79. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/graph/info_graph_html.py +0 -0
  80. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/list/__init__.py +0 -0
  81. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/list/binary_html_table.py +0 -0
  82. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/list/list.py +0 -0
  83. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/formatters/list/search_table_html.py +0 -0
  84. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/printers/__init__.py +0 -0
  85. {conan-server-2.3.0 → conan-server-2.3.1}/conan/cli/printers/graph.py +0 -0
  86. {conan-server-2.3.0 → conan-server-2.3.1}/conan/errors.py +0 -0
  87. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/__init__.py +0 -0
  88. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/__init__.py +0 -0
  89. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/__init__.py +0 -0
  90. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/alias_new.py +0 -0
  91. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/autoools_exe.py +0 -0
  92. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/autotools_lib.py +0 -0
  93. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/basic.py +0 -0
  94. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/bazel_exe.py +0 -0
  95. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/bazel_lib.py +0 -0
  96. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/cmake_exe.py +0 -0
  97. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/cmake_lib.py +0 -0
  98. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/local_recipes_index.py +0 -0
  99. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/meson_exe.py +0 -0
  100. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/meson_lib.py +0 -0
  101. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/msbuild_exe.py +0 -0
  102. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/api/new/msbuild_lib.py +0 -0
  103. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/__init__.py +0 -0
  104. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/cache.py +0 -0
  105. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/conan_reference_layout.py +0 -0
  106. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/db/__init__.py +0 -0
  107. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/db/cache_database.py +0 -0
  108. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/db/packages_table.py +0 -0
  109. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/db/recipes_table.py +0 -0
  110. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/db/table.py +0 -0
  111. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/cache/home_paths.py +0 -0
  112. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/conan_app.py +0 -0
  113. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/deploy.py +0 -0
  114. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/integrity_check.py +0 -0
  115. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/internal_tools.py +0 -0
  116. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/runner/__init__.py +0 -0
  117. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/runner/ssh.py +0 -0
  118. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/runner/wsl.py +0 -0
  119. {conan-server-2.3.0 → conan-server-2.3.1}/conan/internal/upload_metadata.py +0 -0
  120. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/__init__.py +0 -0
  121. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/android/__init__.py +0 -0
  122. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/android/utils.py +0 -0
  123. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/apple/__init__.py +0 -0
  124. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/apple/apple.py +0 -0
  125. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/apple/xcodebuild.py +0 -0
  126. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/apple/xcodedeps.py +0 -0
  127. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/apple/xcodetoolchain.py +0 -0
  128. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/build/__init__.py +0 -0
  129. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/build/cppstd.py +0 -0
  130. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/build/cpu.py +0 -0
  131. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/build/cross_building.py +0 -0
  132. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/build/flags.py +0 -0
  133. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/build/stdcpp_library.py +0 -0
  134. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/__init__.py +0 -0
  135. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmake.py +0 -0
  136. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/__init__.py +0 -0
  137. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/cmakedeps.py +0 -0
  138. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/__init__.py +0 -0
  139. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/config.py +0 -0
  140. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/config_version.py +0 -0
  141. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/macros.py +0 -0
  142. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/target_configuration.py +0 -0
  143. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/target_data.py +0 -0
  144. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/cmakedeps/templates/targets.py +0 -0
  145. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/layout.py +0 -0
  146. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/toolchain/__init__.py +0 -0
  147. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/toolchain/blocks.py +0 -0
  148. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/cmake/utils.py +0 -0
  149. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/env/__init__.py +0 -0
  150. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/env/environment.py +0 -0
  151. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/env/virtualbuildenv.py +0 -0
  152. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/env/virtualrunenv.py +0 -0
  153. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/__init__.py +0 -0
  154. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/conandata.py +0 -0
  155. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/copy_pattern.py +0 -0
  156. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/files.py +0 -0
  157. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/packager.py +0 -0
  158. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/patches.py +0 -0
  159. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/symlinks/__init__.py +0 -0
  160. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/files/symlinks/symlinks.py +0 -0
  161. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/__init__.py +0 -0
  162. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/autotools.py +0 -0
  163. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/autotoolsdeps.py +0 -0
  164. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/autotoolstoolchain.py +0 -0
  165. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/get_gnu_triplet.py +0 -0
  166. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/gnudeps_flags.py +0 -0
  167. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/gnutoolchain.py +0 -0
  168. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/makedeps.py +0 -0
  169. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/pkgconfig.py +0 -0
  170. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/gnu/pkgconfigdeps.py +0 -0
  171. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/google/__init__.py +0 -0
  172. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/google/bazel.py +0 -0
  173. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/google/bazeldeps.py +0 -0
  174. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/google/layout.py +0 -0
  175. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/google/toolchain.py +0 -0
  176. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/intel/__init__.py +0 -0
  177. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/intel/intel_cc.py +0 -0
  178. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/layout/__init__.py +0 -0
  179. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/meson/__init__.py +0 -0
  180. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/meson/helpers.py +0 -0
  181. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/meson/meson.py +0 -0
  182. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/meson/toolchain.py +0 -0
  183. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/__init__.py +0 -0
  184. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/layout.py +0 -0
  185. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/msbuild.py +0 -0
  186. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/msbuilddeps.py +0 -0
  187. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/nmakedeps.py +0 -0
  188. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/nmaketoolchain.py +0 -0
  189. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/subsystems.py +0 -0
  190. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/microsoft/toolchain.py +0 -0
  191. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/premake/__init__.py +0 -0
  192. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/premake/premake.py +0 -0
  193. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/premake/premakedeps.py +0 -0
  194. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/qbs/__init__.py +0 -0
  195. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/qbs/qbs.py +0 -0
  196. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/qbs/qbsprofile.py +0 -0
  197. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/scm/__init__.py +0 -0
  198. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/scm/git.py +0 -0
  199. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/scons/__init__.py +0 -0
  200. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/scons/sconsdeps.py +0 -0
  201. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/system/__init__.py +0 -0
  202. {conan-server-2.3.0 → conan-server-2.3.1}/conan/tools/system/package_manager.py +0 -0
  203. {conan-server-2.3.0 → conan-server-2.3.1}/conan_server.egg-info/SOURCES.txt +0 -0
  204. {conan-server-2.3.0 → conan-server-2.3.1}/conan_server.egg-info/dependency_links.txt +0 -0
  205. {conan-server-2.3.0 → conan-server-2.3.1}/conan_server.egg-info/entry_points.txt +0 -0
  206. {conan-server-2.3.0 → conan-server-2.3.1}/conan_server.egg-info/requires.txt +0 -0
  207. {conan-server-2.3.0 → conan-server-2.3.1}/conan_server.egg-info/top_level.txt +0 -0
  208. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/__init__.py +0 -0
  209. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/cache/__init__.py +0 -0
  210. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/cache/cache.py +0 -0
  211. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/cache/editable.py +0 -0
  212. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/cmd/__init__.py +0 -0
  213. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/cmd/export.py +0 -0
  214. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/cmd/uploader.py +0 -0
  215. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conanfile/__init__.py +0 -0
  216. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conanfile/build.py +0 -0
  217. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conanfile/configure.py +0 -0
  218. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conanfile/implementations.py +0 -0
  219. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conanfile/package.py +0 -0
  220. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conf/config_installer.py +0 -0
  221. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conf/detect.py +0 -0
  222. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/conf/required_version.py +0 -0
  223. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/downloaders/__init__.py +0 -0
  224. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/downloaders/caching_file_downloader.py +0 -0
  225. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/downloaders/download_cache.py +0 -0
  226. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/downloaders/file_downloader.py +0 -0
  227. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/generators/__init__.py +0 -0
  228. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/__init__.py +0 -0
  229. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/build_mode.py +0 -0
  230. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/compute_pid.py +0 -0
  231. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/graph_error.py +0 -0
  232. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/profile_node_definer.py +0 -0
  233. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/provides.py +0 -0
  234. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/proxy.py +0 -0
  235. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/python_requires.py +0 -0
  236. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/graph/range_resolver.py +0 -0
  237. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/hook_manager.py +0 -0
  238. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/installer.py +0 -0
  239. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/loader.py +0 -0
  240. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/loader_txt.py +0 -0
  241. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/migrations.py +0 -0
  242. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/pkg_sign.py +0 -0
  243. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/profile_loader.py +0 -0
  244. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/remote_manager.py +0 -0
  245. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/__init__.py +0 -0
  246. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/auth_manager.py +0 -0
  247. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/client_routes.py +0 -0
  248. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/conan_requester.py +0 -0
  249. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/file_uploader.py +0 -0
  250. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/remote_credentials.py +0 -0
  251. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/rest_client.py +0 -0
  252. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/rest_client_common.py +0 -0
  253. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest/rest_client_v2.py +0 -0
  254. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/rest_client_local_recipe_index.py +0 -0
  255. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/source.py +0 -0
  256. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/store/__init__.py +0 -0
  257. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/store/localdb.py +0 -0
  258. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/subsystems.py +0 -0
  259. {conan-server-2.3.0 → conan-server-2.3.1}/conans/client/userio.py +0 -0
  260. {conan-server-2.3.0 → conan-server-2.3.1}/conans/conan.py +0 -0
  261. {conan-server-2.3.0 → conan-server-2.3.1}/conans/conan_server.py +0 -0
  262. {conan-server-2.3.0 → conan-server-2.3.1}/conans/errors.py +0 -0
  263. {conan-server-2.3.0 → conan-server-2.3.1}/conans/migrations.py +0 -0
  264. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/__init__.py +0 -0
  265. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/build_info.py +0 -0
  266. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/conan_file.py +0 -0
  267. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/conanfile_interface.py +0 -0
  268. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/dependencies.py +0 -0
  269. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/info.py +0 -0
  270. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/layout.py +0 -0
  271. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/manifest.py +0 -0
  272. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/options.py +0 -0
  273. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/package_ref.py +0 -0
  274. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/pkg_type.py +0 -0
  275. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/profile.py +0 -0
  276. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/rest_routes.py +0 -0
  277. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/settings.py +0 -0
  278. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/version.py +0 -0
  279. {conan-server-2.3.0 → conan-server-2.3.1}/conans/model/version_range.py +0 -0
  280. {conan-server-2.3.0 → conan-server-2.3.1}/conans/paths/__init__.py +0 -0
  281. {conan-server-2.3.0 → conan-server-2.3.1}/conans/requirements.txt +0 -0
  282. {conan-server-2.3.0 → conan-server-2.3.1}/conans/requirements_dev.txt +0 -0
  283. {conan-server-2.3.0 → conan-server-2.3.1}/conans/requirements_runner.txt +0 -0
  284. {conan-server-2.3.0 → conan-server-2.3.1}/conans/requirements_server.txt +0 -0
  285. {conan-server-2.3.0 → conan-server-2.3.1}/conans/search/__init__.py +0 -0
  286. {conan-server-2.3.0 → conan-server-2.3.1}/conans/search/query_parse.py +0 -0
  287. {conan-server-2.3.0 → conan-server-2.3.1}/conans/search/search.py +0 -0
  288. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/__init__.py +0 -0
  289. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/conf/__init__.py +0 -0
  290. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/conf/default_server_conf.py +0 -0
  291. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/crypto/__init__.py +0 -0
  292. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/crypto/jwt/__init__.py +0 -0
  293. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/crypto/jwt/jwt_credentials_manager.py +0 -0
  294. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/crypto/jwt/jwt_manager.py +0 -0
  295. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/launcher.py +0 -0
  296. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/migrate.py +0 -0
  297. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/migrations.py +0 -0
  298. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/plugin_loader.py +0 -0
  299. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/__init__.py +0 -0
  300. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/api_v2.py +0 -0
  301. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/bottle_plugins/__init__.py +0 -0
  302. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/bottle_plugins/authorization_header.py +0 -0
  303. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/bottle_plugins/http_basic_authentication.py +0 -0
  304. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/bottle_plugins/jwt_authentication.py +0 -0
  305. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/bottle_plugins/return_handler.py +0 -0
  306. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/bottle_routes.py +0 -0
  307. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/__init__.py +0 -0
  308. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/__init__.py +0 -0
  309. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/conan.py +0 -0
  310. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/delete.py +0 -0
  311. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/ping.py +0 -0
  312. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/revisions.py +0 -0
  313. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/search.py +0 -0
  314. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/controller/v2/users.py +0 -0
  315. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/rest/server.py +0 -0
  316. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/revision_list.py +0 -0
  317. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/server_launcher.py +0 -0
  318. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/__init__.py +0 -0
  319. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/authorize.py +0 -0
  320. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/mime.py +0 -0
  321. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/user_service.py +0 -0
  322. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/v2/__init__.py +0 -0
  323. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/v2/search.py +0 -0
  324. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/service/v2/service_v2.py +0 -0
  325. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/store/__init__.py +0 -0
  326. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/store/disk_adapter.py +0 -0
  327. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/store/server_store.py +0 -0
  328. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/utils/__init__.py +0 -0
  329. {conan-server-2.3.0 → conan-server-2.3.1}/conans/server/utils/files.py +0 -0
  330. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/__init__.py +0 -0
  331. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/__init__.py +0 -0
  332. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/autotools.py +0 -0
  333. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/cmake.py +0 -0
  334. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/genconanfile.py +0 -0
  335. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/pkg_cmake.py +0 -0
  336. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/sources.py +0 -0
  337. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/assets/visual_project_files.py +0 -0
  338. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/conftest.py +0 -0
  339. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/__init__.py +0 -0
  340. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/artifactory.py +0 -0
  341. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/file_server.py +0 -0
  342. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/mocks.py +0 -0
  343. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/profiles.py +0 -0
  344. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/scm.py +0 -0
  345. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/server_launcher.py +0 -0
  346. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/test_files.py +0 -0
  347. {conan-server-2.3.0 → conan-server-2.3.1}/conans/test/utils/tools.py +0 -0
  348. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/__init__.py +0 -0
  349. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/config_parser.py +0 -0
  350. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/dates.py +0 -0
  351. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/encrypt.py +0 -0
  352. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/env.py +0 -0
  353. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/files.py +0 -0
  354. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/locks.py +0 -0
  355. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/runners.py +0 -0
  356. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/sha.py +0 -0
  357. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/thread.py +0 -0
  358. {conan-server-2.3.0 → conan-server-2.3.1}/conans/util/windows.py +0 -0
  359. {conan-server-2.3.0 → conan-server-2.3.1}/pyproject.toml +0 -0
  360. {conan-server-2.3.0 → conan-server-2.3.1}/setup.cfg +0 -0
  361. {conan-server-2.3.0 → conan-server-2.3.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conan-server
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: Conan Server of Conan C/C++ package manager
5
5
  Home-page: https://conan.io
6
6
  Author: JFrog LTD
@@ -111,9 +111,10 @@ class LocalAPI:
111
111
  with chdir(conanfile.build_folder):
112
112
  conanfile.test()
113
113
 
114
- def inspect(self, conanfile_path, remotes, lockfile):
114
+ def inspect(self, conanfile_path, remotes, lockfile, name=None, version=None, user=None,
115
+ channel=None):
115
116
  app = ConanApp(self._conan_api)
116
- conanfile = app.loader.load_named(conanfile_path, name=None, version=None,
117
- user=None, channel=None, remotes=remotes, graph_lock=lockfile)
117
+ conanfile = app.loader.load_named(conanfile_path, name=name, version=version, user=user,
118
+ channel=channel, remotes=remotes, graph_lock=lockfile)
118
119
  return conanfile
119
120
 
@@ -46,7 +46,8 @@ def export_pkg(conan_api, parser, *args):
46
46
  profile_host, profile_build = conan_api.profiles.get_profiles_from_args(args)
47
47
  remotes = conan_api.remotes.list(args.remote) if not args.no_remote else []
48
48
 
49
- conanfile = conan_api.local.inspect(path, remotes, lockfile)
49
+ conanfile = conan_api.local.inspect(path, remotes, lockfile, name=args.name,
50
+ version=args.version, user=args.user, channel=args.channel)
50
51
  # The package_type is not fully processed at export
51
52
  if conanfile.package_type == "python-require":
52
53
  raise ConanException("export-pkg can only be used for binaries, not for 'python-require'")
@@ -384,9 +384,14 @@ def detect_default_compiler():
384
384
  return None, None, None
385
385
 
386
386
  if platform.system() == "Windows":
387
- compiler, version, compiler_exe = detect_msvc_compiler()
388
- if compiler:
389
- return compiler, version, compiler_exe
387
+ ide_version = _detect_vs_ide_version()
388
+ version = {"17": "193", "16": "192", "15": "191"}.get(str(ide_version)) # Map to compiler
389
+ if ide_version == "17":
390
+ update = detect_msvc_update(version) # FIXME weird passing here the 193 compiler version
391
+ if update and int(update) >= 10:
392
+ version = "194"
393
+ if version:
394
+ return 'msvc', Version(version), None
390
395
 
391
396
  if platform.system() == "SunOS":
392
397
  sun_cc, sun_cc_version, compiler_exe = detect_suncc_compiler()
@@ -409,7 +414,7 @@ def detect_default_compiler():
409
414
 
410
415
 
411
416
  def default_msvc_ide_version(version):
412
- version = {"193": "17", "192": "16", "191": "15"}.get(str(version))
417
+ version = {"194": "17", "193": "17", "192": "16", "191": "15"}.get(str(version))
413
418
  if version:
414
419
  return Version(version)
415
420
 
@@ -90,7 +90,7 @@ class DockerRunner:
90
90
  profile_list = set(self.args.profile_build + self.args.profile_host)
91
91
  else:
92
92
  profile_list = self.args.profile_host or self.args.profile_build
93
-
93
+
94
94
  # Update the profile paths
95
95
  for i, raw_arg in enumerate(raw_args):
96
96
  for i, raw_profile in enumerate(profile_list):
@@ -111,7 +111,7 @@ class DockerRunner:
111
111
  if not (self.dockerfile or self.image):
112
112
  raise ConanException("'dockerfile' or docker image name is needed")
113
113
  self.image = self.image or 'conan-runner-default'
114
- self.name = self.configfile.image or f'conan-runner-{host_profile.runner.get("suffix", "docker")}'
114
+ self.name = self.configfile.run.name or f'conan-runner-{host_profile.runner.get("suffix", "docker")}'
115
115
  self.remove = str(host_profile.runner.get('remove', 'false')).lower() == 'true'
116
116
  self.cache = str(host_profile.runner.get('cache', 'clean'))
117
117
  self.container = None
@@ -16,11 +16,12 @@ from conans.util.files import save, load
16
16
 
17
17
  def write_cmake_presets(conanfile, toolchain_file, generator, cache_variables,
18
18
  user_presets_path=None, preset_prefix=None, buildenv=None, runenv=None,
19
- cmake_executable=None):
19
+ cmake_executable=None, absolute_paths=None):
20
20
  preset_path, preset_data = _CMakePresets.generate(conanfile, toolchain_file, generator,
21
21
  cache_variables, preset_prefix, buildenv, runenv,
22
- cmake_executable)
23
- _IncludingPresets.generate(conanfile, preset_path, user_presets_path, preset_prefix, preset_data)
22
+ cmake_executable, absolute_paths)
23
+ _IncludingPresets.generate(conanfile, preset_path, user_presets_path, preset_prefix, preset_data,
24
+ absolute_paths)
24
25
 
25
26
 
26
27
  class _CMakePresets:
@@ -28,12 +29,13 @@ class _CMakePresets:
28
29
  """
29
30
  @staticmethod
30
31
  def generate(conanfile, toolchain_file, generator, cache_variables, preset_prefix, buildenv, runenv,
31
- cmake_executable):
32
+ cmake_executable, absolute_paths):
32
33
  toolchain_file = os.path.abspath(os.path.join(conanfile.generators_folder, toolchain_file))
33
- try: # Make it relative to the build dir if possible
34
- toolchain_file = os.path.relpath(toolchain_file, conanfile.build_folder)
35
- except ValueError:
36
- pass
34
+ if not absolute_paths:
35
+ try: # Make it relative to the build dir if possible
36
+ toolchain_file = os.path.relpath(toolchain_file, conanfile.build_folder)
37
+ except ValueError:
38
+ pass
37
39
  cache_variables = cache_variables or {}
38
40
  if platform.system() == "Windows" and generator == "MinGW Makefiles":
39
41
  if "CMAKE_SH" not in cache_variables:
@@ -249,7 +251,8 @@ class _IncludingPresets:
249
251
  """
250
252
 
251
253
  @staticmethod
252
- def generate(conanfile, preset_path, user_presets_path, preset_prefix, preset_data):
254
+ def generate(conanfile, preset_path, user_presets_path, preset_prefix, preset_data,
255
+ absolute_paths):
253
256
  if not user_presets_path:
254
257
  return
255
258
 
@@ -288,10 +291,11 @@ class _IncludingPresets:
288
291
  if inherited_user:
289
292
  _IncludingPresets._clean_user_inherits(data, preset_data)
290
293
 
291
- try: # Make it relative to the CMakeUserPresets.json if possible
292
- preset_path = os.path.relpath(preset_path, output_dir)
293
- except ValueError:
294
- pass
294
+ if not absolute_paths:
295
+ try: # Make it relative to the CMakeUserPresets.json if possible
296
+ preset_path = os.path.relpath(preset_path, output_dir)
297
+ except ValueError:
298
+ pass
295
299
  data = _IncludingPresets._append_user_preset_path(data, preset_path, output_dir)
296
300
 
297
301
  data = json.dumps(data, indent=4)
@@ -179,6 +179,7 @@ class CMakeToolchain(object):
179
179
  self.presets_prefix = "conan"
180
180
  self.presets_build_environment = None
181
181
  self.presets_run_environment = None
182
+ self.absolute_paths = False # By default use relative paths to toolchain and presets
182
183
 
183
184
  def _context(self):
184
185
  """ Returns dict, the context for the template
@@ -268,7 +269,7 @@ class CMakeToolchain(object):
268
269
 
269
270
  write_cmake_presets(self._conanfile, toolchain_file, self.generator, cache_variables,
270
271
  self.user_presets_path, self.presets_prefix, buildenv, runenv,
271
- cmake_executable)
272
+ cmake_executable, self.absolute_paths)
272
273
 
273
274
  def _get_generator(self, recipe_generator):
274
275
  # Returns the name of the generator to be used by CMake
@@ -59,7 +59,8 @@ def msvc_version_to_vs_ide_version(version):
59
59
  '190': '14',
60
60
  '191': '15',
61
61
  '192': '16',
62
- '193': '17'}
62
+ '193': '17',
63
+ '194': '17'} # Note both 193 and 194 belong to VS 17 2022
63
64
  return _visuals[str(version)]
64
65
 
65
66
 
@@ -75,7 +76,8 @@ def msvc_version_to_toolset_version(version):
75
76
  '190': 'v140',
76
77
  '191': 'v141',
77
78
  '192': 'v142',
78
- "193": 'v143'}
79
+ "193": 'v143',
80
+ "194": 'v143'}
79
81
  return toolsets.get(str(version))
80
82
 
81
83
 
@@ -140,6 +142,7 @@ class VCVars:
140
142
  compiler_update = conanfile.settings.get_safe("compiler.update", "")
141
143
  # The equivalent of compiler 19.26 is toolset 14.26
142
144
  vcvars_ver = "14.{}{}".format(compiler_version[-1], compiler_update)
145
+
143
146
  vcvarsarch = _vcvars_arch(conanfile)
144
147
 
145
148
  winsdk_version = conanfile.conf.get("tools.microsoft:winsdk_version", check_type=str)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conan-server
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: Conan Server of Conan C/C++ package manager
5
5
  Home-page: https://conan.io
6
6
  Author: JFrog LTD
@@ -2,4 +2,4 @@ CHECKSUM_DEPLOY = "checksum_deploy" # Only when v2
2
2
  REVISIONS = "revisions" # Only when enabled in config, not by default look at server_launcher.py
3
3
  OAUTH_TOKEN = "oauth_token"
4
4
 
5
- __version__ = '2.3.0'
5
+ __version__ = '2.3.1'
@@ -94,14 +94,14 @@ compiler:
94
94
  "10", "10.1", "10.2", "10.3", "10.4", "10.5",
95
95
  "11", "11.1", "11.2", "11.3", "11.4",
96
96
  "12", "12.1", "12.2", "12.3",
97
- "13", "13.1", "13.2",
97
+ "13", "13.1", "13.2", "13.3",
98
98
  "14", "14.1"]
99
99
  libcxx: [libstdc++, libstdc++11]
100
100
  threads: [null, posix, win32] # Windows MinGW
101
101
  exception: [null, dwarf2, sjlj, seh] # Windows MinGW
102
102
  cppstd: [null, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20, 23, gnu23]
103
103
  msvc:
104
- version: [170, 180, 190, 191, 192, 193]
104
+ version: [170, 180, 190, 191, 192, 193, 194]
105
105
  update: [null, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
106
106
  runtime: [static, dynamic]
107
107
  runtime_type: [Debug, Release]
@@ -12,7 +12,7 @@ def vs_installation_path(version):
12
12
 
13
13
 
14
14
  def vs_detect_update(version):
15
- version = {"193": "17", "192": "16", "191": "15"}.get(str(version))
15
+ version = {"194": "17", "193": "17", "192": "16", "191": "15"}.get(str(version))
16
16
  full_version = _vs_installation_path(version)[1]
17
17
  components = full_version.split(".")
18
18
  if len(components) > 1:
@@ -30,26 +30,43 @@ from conan.errors import ConanException
30
30
  def cppstd_compat(conanfile):
31
31
  # It will try to find packages with all the cppstd versions
32
32
  extension_properties = getattr(conanfile, "extension_properties", {})
33
- if extension_properties.get("compatibility_cppstd") is False:
34
- return []
35
33
  compiler = conanfile.settings.get_safe("compiler")
36
34
  compiler_version = conanfile.settings.get_safe("compiler.version")
37
35
  cppstd = conanfile.settings.get_safe("compiler.cppstd")
38
- if not compiler or not compiler_version or not cppstd:
36
+ if not compiler or not compiler_version:
39
37
  return []
40
38
  base = dict(conanfile.settings.values_list)
41
- cppstd_possible_values = supported_cppstd(conanfile)
42
- if cppstd_possible_values is None:
43
- conanfile.output.warning(f'No cppstd compatibility defined for compiler "{compiler}"')
44
- return []
45
- ret = []
46
- for _cppstd in cppstd_possible_values:
47
- if _cppstd is None or _cppstd == cppstd:
39
+ factors = [] # List of list, each sublist is a potential combination
40
+ if cppstd is not None and extension_properties.get("compatibility_cppstd") is not False:
41
+ cppstd_possible_values = supported_cppstd(conanfile)
42
+ if cppstd_possible_values is None:
43
+ conanfile.output.warning(f'No cppstd compatibility defined for compiler "{compiler}"')
44
+ else:
45
+ factors.append([{"compiler.cppstd": v} for v in cppstd_possible_values if v != cppstd])
46
+
47
+ if compiler == "msvc":
48
+ msvc_fallback = {"194": "193"}.get(compiler_version)
49
+ if msvc_fallback:
50
+ factors.append([{"compiler.version": msvc_fallback}])
51
+
52
+ combinations = []
53
+ for factor in factors:
54
+ if not combinations:
55
+ combinations = factor
48
56
  continue
57
+ new_combinations = []
58
+ for comb in combinations:
59
+ for f in factor:
60
+ comb = comb.copy()
61
+ comb.update(f)
62
+ new_combinations.append(comb)
63
+ combinations = new_combinations
64
+
65
+ ret = []
66
+ for comb in combinations:
49
67
  configuration = base.copy()
50
- configuration["compiler.cppstd"] = _cppstd
68
+ configuration.update(comb)
51
69
  ret.append({"settings": [(k, v) for k, v in configuration.items()]})
52
-
53
70
  return ret
54
71
  """
55
72
 
@@ -97,6 +97,11 @@ class Node(object):
97
97
  # print(" +++++Runtime conflict!", require, "with", node.ref)
98
98
  return True
99
99
  require.aggregate(existing.require)
100
+ # An override can be overriden by a downstream force/override
101
+ if existing.require.override and existing.require.ref != require.ref:
102
+ # If it is an override, but other value, it has been overriden too
103
+ existing.require.overriden_ref = existing.require.ref
104
+ existing.require.override_ref = require.ref
100
105
 
101
106
  assert not require.version_range # No ranges slip into transitive_deps definitions
102
107
  # TODO: Might need to move to an update() for performance
@@ -118,6 +123,7 @@ class Node(object):
118
123
  if down_require is None:
119
124
  return
120
125
 
126
+ down_require.defining_require = require.defining_require
121
127
  return d.src.propagate_downstream(down_require, node)
122
128
 
123
129
  def check_downstream_exists(self, require):
@@ -161,6 +167,7 @@ class Node(object):
161
167
  # print(" No need to check downstream more")
162
168
  return result
163
169
 
170
+ down_require.defining_require = require.defining_require
164
171
  source_node = dependant.src
165
172
  return source_node.check_downstream_exists(down_require) or result
166
173
 
@@ -275,9 +282,9 @@ class Overrides:
275
282
  overrides = {}
276
283
  for n in nodes:
277
284
  for r in n.conanfile.requires.values():
278
- if r.override:
285
+ if r.override and not r.overriden_ref: # overrides are not real graph edges
279
286
  continue
280
- if r.overriden_ref and not r.force:
287
+ if r.overriden_ref:
281
288
  overrides.setdefault(r.overriden_ref, set()).add(r.override_ref)
282
289
  else:
283
290
  overrides.setdefault(r.ref, set()).add(None)
@@ -150,7 +150,7 @@ class GraphBinariesAnalyzer(object):
150
150
  if node.binary in (BINARY_CACHE, BINARY_UPDATE, BINARY_DOWNLOAD):
151
151
  _compatible_found(package_id, compatible_package)
152
152
  return
153
- if not update:
153
+ if not should_update_reference(conanfile.ref, update):
154
154
  conanfile.output.info(f"Compatible configurations not found in cache, checking servers")
155
155
  for package_id, compatible_package in compatibles.items():
156
156
  conanfile.output.info(f"'{package_id}': "
@@ -81,9 +81,13 @@ class DepsGraphBuilder(object):
81
81
 
82
82
  prev_ref = prev_node.ref if prev_node else prev_require.ref
83
83
  if prev_require.force or prev_require.override: # override
84
- require.overriden_ref = require.ref # Store that the require has been overriden
85
- require.override_ref = prev_ref
86
- require.ref = prev_ref
84
+ if prev_require.defining_require is not require:
85
+ require.overriden_ref = require.overriden_ref or require.ref.copy() # Old one
86
+ # require.override_ref can be !=None if lockfile-overrides defined
87
+ require.override_ref = (require.override_ref or prev_require.override_ref
88
+ or prev_require.ref.copy()) # New one
89
+ require.defining_require = prev_require.defining_require # The overrider
90
+ require.ref = prev_ref # New one, maybe resolved with revision
87
91
  else:
88
92
  self._conflicting_version(require, node, prev_require, prev_node,
89
93
  prev_ref, base_previous, self._resolve_prereleases)
@@ -195,6 +199,8 @@ class DepsGraphBuilder(object):
195
199
  if not resolved:
196
200
  self._resolve_alias(node, require, alias, graph)
197
201
  self._resolve_replace_requires(node, require, profile_build, profile_host, graph)
202
+ if graph_lock:
203
+ graph_lock.resolve_overrides(require)
198
204
  node.transitive_deps[require] = TransitiveRequirement(require, node=None)
199
205
 
200
206
  def _resolve_alias(self, node, require, alias, graph):
@@ -160,7 +160,7 @@ class _InstallRecipeReference:
160
160
  if dep.dst.binary != BINARY_SKIP:
161
161
  if dep.dst.ref == node.ref: # If the node is itself, then it is internal dep
162
162
  install_pkg_ref.depends.append(dep.dst.pref.package_id)
163
- else:
163
+ elif dep.dst.ref not in self.depends:
164
164
  self.depends.append(dep.dst.ref)
165
165
 
166
166
  def _install_order(self):
@@ -116,7 +116,7 @@ BUILT_IN_CONFS = {
116
116
  "tools.build:compiler_executables": "Defines a Python dict-like with the compilers path to be used. Allowed keys {'c', 'cpp', 'cuda', 'objc', 'objcxx', 'rc', 'fortran', 'asm', 'hip', 'ispc', 'ld', 'ar'}",
117
117
  "tools.build:cxxflags": "List of extra CXX flags used by different toolchains like CMakeToolchain, AutotoolsToolchain and MesonToolchain",
118
118
  "tools.build:cflags": "List of extra C flags used by different toolchains like CMakeToolchain, AutotoolsToolchain and MesonToolchain",
119
- "tools.build:defines": "List of extra definition flags used by different toolchains like CMakeToolchain and AutotoolsToolchain",
119
+ "tools.build:defines": "List of extra definition flags used by different toolchains like CMakeToolchain, AutotoolsToolchain and MesonToolchain",
120
120
  "tools.build:sharedlinkflags": "List of extra flags used by CMakeToolchain for CMAKE_SHARED_LINKER_FLAGS_INIT variable",
121
121
  "tools.build:exelinkflags": "List of extra flags used by CMakeToolchain for CMAKE_EXE_LINKER_FLAGS_INIT variable",
122
122
  "tools.build:linker_scripts": "List of linker script files to pass to the linker used by different toolchains like CMakeToolchain, AutotoolsToolchain, and MesonToolchain",
@@ -261,7 +261,6 @@ class Lockfile(object):
261
261
  locked_refs = self._conf_requires.refs()
262
262
  else:
263
263
  locked_refs = self._requires.refs()
264
- self._resolve_overrides(require)
265
264
  try:
266
265
  self._resolve(require, locked_refs, resolve_prereleases)
267
266
  except ConanException:
@@ -273,13 +272,19 @@ class Lockfile(object):
273
272
  ConanOutput().error(msg, error_type="exception")
274
273
  raise
275
274
 
276
- def _resolve_overrides(self, require):
277
- existing = self._overrides.get(require.ref)
278
- if existing is not None and len(existing) == 1:
279
- require.overriden_ref = require.ref # Store that the require has been overriden
280
- ref = next(iter(existing))
281
- require.ref = ref
282
- require.override_ref = ref
275
+ def resolve_overrides(self, require):
276
+ """ The lockfile contains the overrides to be able to inject them when the lockfile is
277
+ applied to upstream dependencies, that have the overrides downstream
278
+ """
279
+ if not self._overrides:
280
+ return
281
+
282
+ overriden = self._overrides.get(require.ref)
283
+ if overriden and len(overriden) == 1:
284
+ override_ref = next(iter(overriden))
285
+ require.overriden_ref = require.overriden_ref or require.ref.copy()
286
+ require.override_ref = override_ref
287
+ require.ref = override_ref
283
288
 
284
289
  def resolve_prev(self, node):
285
290
  if node.context == CONTEXT_BUILD:
@@ -26,6 +26,11 @@ class RecipeReference:
26
26
  self.revision = revision
27
27
  self.timestamp = timestamp
28
28
 
29
+ def copy(self):
30
+ # Used for creating copy in lockfile-overrides mechanism
31
+ return RecipeReference(self.name, self.version, self.user, self.channel, self.revision,
32
+ self.timestamp)
33
+
29
34
  def __repr__(self):
30
35
  """ long repr like pkg/0.1@user/channel#rrev%timestamp """
31
36
  result = self.repr_notime()
@@ -29,6 +29,9 @@ class Requirement:
29
29
  self._direct = direct
30
30
  self.options = options
31
31
  # Meta and auxiliary information
32
+ # The "defining_require" is the require that defines the current value. If this require is
33
+ # overriden/forced, this attribute will point to the overriding/forcing requirement.
34
+ self.defining_require = self # if not overriden, it points to itself
32
35
  self.overriden_ref = None # to store if the requirement has been overriden (store old ref)
33
36
  self.override_ref = None # to store if the requirement has been overriden (store new ref)
34
37
  self.is_test = test # to store that it was a test, even if used as regular requires too
@@ -518,16 +521,6 @@ class Requirements:
518
521
  raise ConanException("Duplicated requirement: {}".format(ref))
519
522
  self._requires[req] = req
520
523
 
521
- def override(self, ref):
522
- req = Requirement(ref)
523
- old_requirement = self._requires.get(req)
524
- if old_requirement is not None:
525
- req.force = True
526
- self._requires[req] = req
527
- else:
528
- req.override = True
529
- self._requires[req] = req
530
-
531
524
  def test_require(self, ref, run=None, options=None, force=None):
532
525
  """
533
526
  Represent a testing framework like gtest
File without changes
File without changes
File without changes