conan-server 2.0.11__tar.gz → 2.0.12__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 (344) hide show
  1. {conan-server-2.0.11 → conan-server-2.0.12}/PKG-INFO +1 -1
  2. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/build.py +1 -1
  3. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/export_pkg.py +5 -2
  4. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/remove.py +8 -4
  5. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/flags.py +4 -0
  6. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config_version.py +1 -1
  7. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_configuration.py +2 -1
  8. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_data.py +8 -5
  9. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/system/package_manager.py +15 -10
  10. {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/PKG-INFO +1 -1
  11. {conan-server-2.0.11 → conan-server-2.0.12}/conans/__init__.py +1 -1
  12. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/__init__.py +2 -2
  13. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/compatibility.py +2 -0
  14. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph_binaries.py +42 -23
  15. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/conan_requester.py +3 -1
  16. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/build_info.py +2 -1
  17. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/tools.py +4 -2
  18. {conan-server-2.0.11 → conan-server-2.0.12}/LICENSE.md +0 -0
  19. {conan-server-2.0.11 → conan-server-2.0.12}/MANIFEST.in +0 -0
  20. {conan-server-2.0.11 → conan-server-2.0.12}/README.md +0 -0
  21. {conan-server-2.0.11 → conan-server-2.0.12}/conan/__init__.py +0 -0
  22. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/__init__.py +0 -0
  23. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/conan_api.py +0 -0
  24. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/model.py +0 -0
  25. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/output.py +0 -0
  26. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/__init__.py +0 -0
  27. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/cache.py +0 -0
  28. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/config.py +0 -0
  29. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/download.py +0 -0
  30. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/export.py +0 -0
  31. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/graph.py +0 -0
  32. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/install.py +0 -0
  33. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/list.py +0 -0
  34. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/local.py +0 -0
  35. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/lockfile.py +0 -0
  36. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/new.py +0 -0
  37. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/profiles.py +0 -0
  38. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/remotes.py +0 -0
  39. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/remove.py +0 -0
  40. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/search.py +0 -0
  41. {conan-server-2.0.11 → conan-server-2.0.12}/conan/api/subapi/upload.py +0 -0
  42. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/__init__.py +0 -0
  43. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/args.py +0 -0
  44. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/cli.py +0 -0
  45. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/command.py +0 -0
  46. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/__init__.py +0 -0
  47. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/cache.py +0 -0
  48. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/config.py +0 -0
  49. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/create.py +0 -0
  50. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/download.py +0 -0
  51. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/editable.py +0 -0
  52. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/export.py +0 -0
  53. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/graph.py +0 -0
  54. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/inspect.py +0 -0
  55. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/install.py +0 -0
  56. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/list.py +0 -0
  57. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/lock.py +0 -0
  58. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/new.py +0 -0
  59. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/profile.py +0 -0
  60. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/remote.py +0 -0
  61. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/search.py +0 -0
  62. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/source.py +0 -0
  63. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/test.py +0 -0
  64. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/upload.py +0 -0
  65. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/commands/version.py +0 -0
  66. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/exit_codes.py +0 -0
  67. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/__init__.py +0 -0
  68. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/__init__.py +0 -0
  69. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/graph.py +0 -0
  70. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/graph_info_text.py +0 -0
  71. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/info_graph_dot.py +0 -0
  72. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/graph/info_graph_html.py +0 -0
  73. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/__init__.py +0 -0
  74. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/binary_html_table.py +0 -0
  75. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/list.py +0 -0
  76. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/formatters/list/search_table_html.py +0 -0
  77. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/printers/__init__.py +0 -0
  78. {conan-server-2.0.11 → conan-server-2.0.12}/conan/cli/printers/graph.py +0 -0
  79. {conan-server-2.0.11 → conan-server-2.0.12}/conan/errors.py +0 -0
  80. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/__init__.py +0 -0
  81. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/__init__.py +0 -0
  82. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/detect_api.py +0 -0
  83. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/__init__.py +0 -0
  84. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/alias_new.py +0 -0
  85. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/autoools_exe.py +0 -0
  86. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/autotools_lib.py +0 -0
  87. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/basic.py +0 -0
  88. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/bazel_exe.py +0 -0
  89. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/bazel_lib.py +0 -0
  90. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/cmake_exe.py +0 -0
  91. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/cmake_lib.py +0 -0
  92. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/meson_exe.py +0 -0
  93. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/meson_lib.py +0 -0
  94. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/msbuild_exe.py +0 -0
  95. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/api/new/msbuild_lib.py +0 -0
  96. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/__init__.py +0 -0
  97. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/cache.py +0 -0
  98. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/conan_reference_layout.py +0 -0
  99. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/__init__.py +0 -0
  100. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/cache_database.py +0 -0
  101. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/packages_table.py +0 -0
  102. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/recipes_table.py +0 -0
  103. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/cache/db/table.py +0 -0
  104. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/conan_app.py +0 -0
  105. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/deploy.py +0 -0
  106. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/integrity_check.py +0 -0
  107. {conan-server-2.0.11 → conan-server-2.0.12}/conan/internal/upload_metadata.py +0 -0
  108. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/__init__.py +0 -0
  109. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/android/__init__.py +0 -0
  110. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/android/utils.py +0 -0
  111. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/__init__.py +0 -0
  112. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/apple.py +0 -0
  113. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/xcodebuild.py +0 -0
  114. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/xcodedeps.py +0 -0
  115. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/apple/xcodetoolchain.py +0 -0
  116. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/__init__.py +0 -0
  117. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/cppstd.py +0 -0
  118. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/cpu.py +0 -0
  119. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/cross_building.py +0 -0
  120. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/build/stdcpp_library.py +0 -0
  121. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/__init__.py +0 -0
  122. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmake.py +0 -0
  123. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/__init__.py +0 -0
  124. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/cmakedeps.py +0 -0
  125. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/__init__.py +0 -0
  126. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config.py +0 -0
  127. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/macros.py +0 -0
  128. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/targets.py +0 -0
  129. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/layout.py +0 -0
  130. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/presets.py +0 -0
  131. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/toolchain/__init__.py +0 -0
  132. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/toolchain/blocks.py +0 -0
  133. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/toolchain/toolchain.py +0 -0
  134. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/cmake/utils.py +0 -0
  135. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/__init__.py +0 -0
  136. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/environment.py +0 -0
  137. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/virtualbuildenv.py +0 -0
  138. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/env/virtualrunenv.py +0 -0
  139. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/__init__.py +0 -0
  140. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/conandata.py +0 -0
  141. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/copy_pattern.py +0 -0
  142. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/files.py +0 -0
  143. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/packager.py +0 -0
  144. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/patches.py +0 -0
  145. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/symlinks/__init__.py +0 -0
  146. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/files/symlinks/symlinks.py +0 -0
  147. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/__init__.py +0 -0
  148. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/autotools.py +0 -0
  149. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/autotoolsdeps.py +0 -0
  150. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/autotoolstoolchain.py +0 -0
  151. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/get_gnu_triplet.py +0 -0
  152. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/gnudeps_flags.py +0 -0
  153. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/makedeps.py +0 -0
  154. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/pkgconfig.py +0 -0
  155. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/gnu/pkgconfigdeps.py +0 -0
  156. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/__init__.py +0 -0
  157. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/bazel.py +0 -0
  158. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/bazeldeps.py +0 -0
  159. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/layout.py +0 -0
  160. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/google/toolchain.py +0 -0
  161. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/intel/__init__.py +0 -0
  162. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/intel/intel_cc.py +0 -0
  163. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/layout/__init__.py +0 -0
  164. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/__init__.py +0 -0
  165. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/helpers.py +0 -0
  166. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/meson.py +0 -0
  167. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/meson/toolchain.py +0 -0
  168. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/__init__.py +0 -0
  169. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/layout.py +0 -0
  170. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/msbuild.py +0 -0
  171. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/msbuilddeps.py +0 -0
  172. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/nmakedeps.py +0 -0
  173. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/nmaketoolchain.py +0 -0
  174. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/subsystems.py +0 -0
  175. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/toolchain.py +0 -0
  176. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/microsoft/visual.py +0 -0
  177. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/premake/__init__.py +0 -0
  178. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/premake/premake.py +0 -0
  179. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/premake/premakedeps.py +0 -0
  180. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/qbs/__init__.py +0 -0
  181. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/qbs/qbs.py +0 -0
  182. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/qbs/qbsprofile.py +0 -0
  183. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scm/__init__.py +0 -0
  184. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scm/git.py +0 -0
  185. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scons/__init__.py +0 -0
  186. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/scons/sconsdeps.py +0 -0
  187. {conan-server-2.0.11 → conan-server-2.0.12}/conan/tools/system/__init__.py +0 -0
  188. {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/SOURCES.txt +0 -0
  189. {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/dependency_links.txt +0 -0
  190. {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/entry_points.txt +0 -0
  191. {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/requires.txt +0 -0
  192. {conan-server-2.0.11 → conan-server-2.0.12}/conan_server.egg-info/top_level.txt +0 -0
  193. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/__init__.py +0 -0
  194. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/__init__.py +0 -0
  195. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/cache.py +0 -0
  196. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/editable.py +0 -0
  197. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cache/remote_registry.py +0 -0
  198. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/__init__.py +0 -0
  199. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/export.py +0 -0
  200. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/uploader.py +0 -0
  201. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/cmd/user.py +0 -0
  202. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/__init__.py +0 -0
  203. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/build.py +0 -0
  204. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/configure.py +0 -0
  205. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/implementations.py +0 -0
  206. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conanfile/package.py +0 -0
  207. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/config_installer.py +0 -0
  208. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/detect.py +0 -0
  209. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/detect_vs.py +0 -0
  210. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/conf/required_version.py +0 -0
  211. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/__init__.py +0 -0
  212. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/caching_file_downloader.py +0 -0
  213. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/download_cache.py +0 -0
  214. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/downloaders/file_downloader.py +0 -0
  215. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/generators/__init__.py +0 -0
  216. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/__init__.py +0 -0
  217. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/build_mode.py +0 -0
  218. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/compute_pid.py +0 -0
  219. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph.py +0 -0
  220. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph_builder.py +0 -0
  221. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/graph_error.py +0 -0
  222. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/install_graph.py +0 -0
  223. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/profile_node_definer.py +0 -0
  224. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/provides.py +0 -0
  225. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/proxy.py +0 -0
  226. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/python_requires.py +0 -0
  227. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/graph/range_resolver.py +0 -0
  228. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/hook_manager.py +0 -0
  229. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/installer.py +0 -0
  230. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/loader.py +0 -0
  231. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/loader_txt.py +0 -0
  232. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/migrations.py +0 -0
  233. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/pkg_sign.py +0 -0
  234. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/profile_loader.py +0 -0
  235. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/remote_manager.py +0 -0
  236. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/__init__.py +0 -0
  237. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/auth_manager.py +0 -0
  238. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/client_routes.py +0 -0
  239. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/file_uploader.py +0 -0
  240. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/remote_credentials.py +0 -0
  241. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/rest_client.py +0 -0
  242. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/rest_client_common.py +0 -0
  243. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/rest/rest_client_v2.py +0 -0
  244. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/source.py +0 -0
  245. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/store/__init__.py +0 -0
  246. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/store/localdb.py +0 -0
  247. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/subsystems.py +0 -0
  248. {conan-server-2.0.11 → conan-server-2.0.12}/conans/client/userio.py +0 -0
  249. {conan-server-2.0.11 → conan-server-2.0.12}/conans/conan.py +0 -0
  250. {conan-server-2.0.11 → conan-server-2.0.12}/conans/conan_server.py +0 -0
  251. {conan-server-2.0.11 → conan-server-2.0.12}/conans/errors.py +0 -0
  252. {conan-server-2.0.11 → conan-server-2.0.12}/conans/migrations.py +0 -0
  253. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/__init__.py +0 -0
  254. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/conan_file.py +0 -0
  255. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/conanfile_interface.py +0 -0
  256. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/conf.py +0 -0
  257. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/dependencies.py +0 -0
  258. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/graph_lock.py +0 -0
  259. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/info.py +0 -0
  260. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/layout.py +0 -0
  261. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/manifest.py +0 -0
  262. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/options.py +0 -0
  263. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/package_ref.py +0 -0
  264. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/pkg_type.py +0 -0
  265. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/profile.py +0 -0
  266. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/recipe_ref.py +0 -0
  267. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/requires.py +0 -0
  268. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/rest_routes.py +0 -0
  269. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/settings.py +0 -0
  270. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/version.py +0 -0
  271. {conan-server-2.0.11 → conan-server-2.0.12}/conans/model/version_range.py +0 -0
  272. {conan-server-2.0.11 → conan-server-2.0.12}/conans/paths/__init__.py +0 -0
  273. {conan-server-2.0.11 → conan-server-2.0.12}/conans/pylint_plugin.py +0 -0
  274. {conan-server-2.0.11 → conan-server-2.0.12}/conans/requirements.txt +0 -0
  275. {conan-server-2.0.11 → conan-server-2.0.12}/conans/requirements_dev.txt +0 -0
  276. {conan-server-2.0.11 → conan-server-2.0.12}/conans/requirements_server.txt +0 -0
  277. {conan-server-2.0.11 → conan-server-2.0.12}/conans/search/__init__.py +0 -0
  278. {conan-server-2.0.11 → conan-server-2.0.12}/conans/search/query_parse.py +0 -0
  279. {conan-server-2.0.11 → conan-server-2.0.12}/conans/search/search.py +0 -0
  280. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/__init__.py +0 -0
  281. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/conf/__init__.py +0 -0
  282. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/conf/default_server_conf.py +0 -0
  283. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/__init__.py +0 -0
  284. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/jwt/__init__.py +0 -0
  285. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/jwt/jwt_credentials_manager.py +0 -0
  286. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/crypto/jwt/jwt_manager.py +0 -0
  287. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/launcher.py +0 -0
  288. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/migrate.py +0 -0
  289. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/migrations.py +0 -0
  290. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/plugin_loader.py +0 -0
  291. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/__init__.py +0 -0
  292. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/api_v2.py +0 -0
  293. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/__init__.py +0 -0
  294. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/authorization_header.py +0 -0
  295. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/http_basic_authentication.py +0 -0
  296. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/jwt_authentication.py +0 -0
  297. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/return_handler.py +0 -0
  298. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/bottle_routes.py +0 -0
  299. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/__init__.py +0 -0
  300. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/__init__.py +0 -0
  301. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/conan.py +0 -0
  302. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/delete.py +0 -0
  303. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/ping.py +0 -0
  304. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/revisions.py +0 -0
  305. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/search.py +0 -0
  306. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/controller/v2/users.py +0 -0
  307. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/rest/server.py +0 -0
  308. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/revision_list.py +0 -0
  309. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/server_launcher.py +0 -0
  310. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/__init__.py +0 -0
  311. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/authorize.py +0 -0
  312. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/mime.py +0 -0
  313. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/user_service.py +0 -0
  314. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/v2/__init__.py +0 -0
  315. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/v2/search.py +0 -0
  316. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/service/v2/service_v2.py +0 -0
  317. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/store/__init__.py +0 -0
  318. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/store/disk_adapter.py +0 -0
  319. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/store/server_store.py +0 -0
  320. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/utils/__init__.py +0 -0
  321. {conan-server-2.0.11 → conan-server-2.0.12}/conans/server/utils/files.py +0 -0
  322. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/__init__.py +0 -0
  323. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/conftest.py +0 -0
  324. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/__init__.py +0 -0
  325. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/artifactory.py +0 -0
  326. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/file_server.py +0 -0
  327. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/mocks.py +0 -0
  328. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/profiles.py +0 -0
  329. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/scm.py +0 -0
  330. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/server_launcher.py +0 -0
  331. {conan-server-2.0.11 → conan-server-2.0.12}/conans/test/utils/test_files.py +0 -0
  332. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/__init__.py +0 -0
  333. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/config_parser.py +0 -0
  334. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/dates.py +0 -0
  335. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/encrypt.py +0 -0
  336. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/env.py +0 -0
  337. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/files.py +0 -0
  338. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/locks.py +0 -0
  339. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/runners.py +0 -0
  340. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/sha.py +0 -0
  341. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/thread.py +0 -0
  342. {conan-server-2.0.11 → conan-server-2.0.12}/conans/util/windows.py +0 -0
  343. {conan-server-2.0.11 → conan-server-2.0.12}/setup.cfg +0 -0
  344. {conan-server-2.0.11 → conan-server-2.0.12}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conan-server
3
- Version: 2.0.11
3
+ Version: 2.0.12
4
4
  Summary: Conan Server of Conan C/C++ package manager
5
5
  Home-page: https://conan.io
6
6
  Author: JFrog LTD
@@ -13,7 +13,7 @@ def build(conan_api, parser, *args):
13
13
  """
14
14
  Install dependencies and call the build() method.
15
15
  """
16
- parser.add_argument("path", nargs="?",
16
+ parser.add_argument("path",
17
17
  help='Path to a python-based recipe file or a folder '
18
18
  'containing a conanfile.py recipe. conanfile.txt '
19
19
  'cannot be used with conan build.')
@@ -7,6 +7,7 @@ from conan.cli.command import conan_command, OnceArgument
7
7
  from conan.cli.commands.create import _get_test_conanfile_path
8
8
  from conan.cli.formatters.graph import format_graph_json
9
9
  from conan.cli.printers.graph import print_graph_basic
10
+ from conans.errors import ConanException
10
11
 
11
12
 
12
13
  @conan_command(group="Creator", formatters={"json": format_graph_json})
@@ -45,11 +46,13 @@ def export_pkg(conan_api, parser, *args):
45
46
  profile_host, profile_build = conan_api.profiles.get_profiles_from_args(args)
46
47
  remotes = conan_api.remotes.list(args.remote) if not args.no_remote else []
47
48
 
49
+ conanfile = conan_api.local.inspect(path, remotes, lockfile)
50
+ # The package_type is not fully processed at export
51
+ if conanfile.package_type == "python-require":
52
+ raise ConanException("export-pkg can only be used for binaries, not for 'python-require'")
48
53
  ref, conanfile = conan_api.export.export(path=path, name=args.name, version=args.version,
49
54
  user=args.user, channel=args.channel, lockfile=lockfile,
50
55
  remotes=remotes)
51
- # The package_type is not fully processed at export
52
- assert conanfile.package_type != "python-require", "A python-require cannot be export-pkg"
53
56
  lockfile = conan_api.lockfile.update_lockfile_export(lockfile, conanfile, ref,
54
57
  args.build_require)
55
58
 
@@ -9,8 +9,8 @@ from conans.errors import ConanException
9
9
 
10
10
 
11
11
  def summary_remove_list(results):
12
- """ Do litte format modification to serialized
13
- list bundle so it looks prettier on text output
12
+ """ Do a little format modification to serialized
13
+ list bundle, so it looks prettier on text output
14
14
  """
15
15
  cli_out_write("Remove summary:")
16
16
  info = results["results"]
@@ -51,6 +51,8 @@ def remove(conan_api: ConanAPI, parser, *args):
51
51
  parser.add_argument('-r', '--remote', action=OnceArgument,
52
52
  help='Will remove from the specified remote')
53
53
  parser.add_argument("-l", "--list", help="Package list file")
54
+ parser.add_argument("--dry-run", default=False, action="store_true",
55
+ help="Do not remove any items, only print those which would be removed")
54
56
  args = parser.parse_args(*args)
55
57
 
56
58
  if args.pattern is None and args.list is None:
@@ -88,7 +90,8 @@ def remove(conan_api: ConanAPI, parser, *args):
88
90
  packages = ref_bundle.get("packages")
89
91
  if packages is None:
90
92
  if confirmation(f"Remove the recipe and all the packages of '{ref.repr_notime()}'?"):
91
- conan_api.remove.recipe(ref, remote=remote)
93
+ if not args.dry_run:
94
+ conan_api.remove.recipe(ref, remote=remote)
92
95
  else:
93
96
  ref_dict.pop(ref.revision)
94
97
  if not ref_dict:
@@ -104,7 +107,8 @@ def remove(conan_api: ConanAPI, parser, *args):
104
107
 
105
108
  for pref, _ in prefs.items():
106
109
  if confirmation(f"Remove the package '{pref.repr_notime()}'?"):
107
- conan_api.remove.package(pref, remote=remote)
110
+ if not args.dry_run:
111
+ conan_api.remove.package(pref, remote=remote)
108
112
  else:
109
113
  pref_dict = packages[pref.package_id]["revisions"]
110
114
  pref_dict.pop(pref.revision)
@@ -309,6 +309,10 @@ def _cppstd_clang(clang_version, cppstd):
309
309
  v23 = "c++2b"
310
310
  vgnu23 = "gnu++2b"
311
311
 
312
+ if clang_version >= "17":
313
+ v23 = "c++23"
314
+ vgnu23 = "gnu++23"
315
+
312
316
  flag = {"98": v98, "gnu98": vgnu98,
313
317
  "11": v11, "gnu11": vgnu11,
314
318
  "14": v14, "gnu14": vgnu14,
@@ -20,7 +20,7 @@ class ConfigVersionTemplate(CMakeDepsFileTemplate):
20
20
 
21
21
  @property
22
22
  def context(self):
23
- policy = self.conanfile.cpp_info.get_property("cmake_config_version_compat")
23
+ policy = self.cmakedeps.get_property("cmake_config_version_compat", self.conanfile)
24
24
  if policy is None:
25
25
  policy = "SameMajorVersion"
26
26
  if policy not in ("AnyNewerVersion", "SameMajorVersion", "SameMinorVersion", "ExactVersion"):
@@ -28,7 +28,8 @@ class TargetConfigurationTemplate(CMakeDepsFileTemplate):
28
28
  for components_target_name in components_targets_names]
29
29
 
30
30
  is_win = self.conanfile.settings.get_safe("os") == "Windows"
31
- auto_link = self.conanfile.cpp_info.get_property("cmake_set_interface_link_directories")
31
+ auto_link = self.cmakedeps.get_property("cmake_set_interface_link_directories",
32
+ self.conanfile)
32
33
  return {"pkg_name": self.pkg_name,
33
34
  "root_target_name": self.root_target_name,
34
35
  "config_suffix": self.config_suffix,
@@ -183,7 +183,8 @@ class ConfigDataTemplate(CMakeDepsFileTemplate):
183
183
  global_cppinfo = self.conanfile.cpp_info.aggregated_components()
184
184
  pfolder_var_name = "{}_PACKAGE_FOLDER{}".format(self.pkg_name, self.config_suffix)
185
185
  return _TargetDataContext(global_cppinfo, pfolder_var_name, self._root_folder,
186
- self.require, self.cmake_package_type, self.is_host_windows)
186
+ self.require, self.cmake_package_type, self.is_host_windows,
187
+ self.conanfile, self.cmakedeps)
187
188
 
188
189
  @property
189
190
  def _root_folder(self):
@@ -199,7 +200,8 @@ class ConfigDataTemplate(CMakeDepsFileTemplate):
199
200
  for comp_name, comp in sorted_comps.items():
200
201
  deps_cpp_cmake = _TargetDataContext(comp, pfolder_var_name, self._root_folder,
201
202
  self.require, self.cmake_package_type,
202
- self.is_host_windows)
203
+ self.is_host_windows, self.conanfile, self.cmakedeps,
204
+ comp_name)
203
205
 
204
206
  public_comp_deps = []
205
207
  for required_pkg, required_comp in comp.parsed_requires():
@@ -260,7 +262,7 @@ class ConfigDataTemplate(CMakeDepsFileTemplate):
260
262
  class _TargetDataContext(object):
261
263
 
262
264
  def __init__(self, cpp_info, pfolder_var_name, package_folder, require, library_type,
263
- is_host_windows):
265
+ is_host_windows, conanfile, cmakedeps, comp_name=None):
264
266
 
265
267
  def join_paths(paths):
266
268
  """
@@ -346,7 +348,8 @@ class _TargetDataContext(object):
346
348
  if require and not require.run:
347
349
  self.bin_paths = ""
348
350
 
349
- build_modules = cpp_info.get_property("cmake_build_modules") or []
351
+ build_modules = cmakedeps.get_property("cmake_build_modules", conanfile) or []
350
352
  self.build_modules_paths = join_paths(build_modules)
351
353
  # SONAME flag only makes sense for SHARED libraries
352
- self.no_soname = str((cpp_info.get_property("nosoname") if self.library_type == "SHARED" else False) or False).upper()
354
+ nosoname = cmakedeps.get_property("nosoname", conanfile, comp_name)
355
+ self.no_soname = str((nosoname if self.library_type == "SHARED" else False) or False).upper()
@@ -62,9 +62,12 @@ class _SystemPackageManagerTool(object):
62
62
  if d in os_name:
63
63
  return tool
64
64
 
65
- def get_package_name(self, package):
66
- # TODO: should we only add the arch if cross-building?
67
- if self._arch in self._arch_names and cross_building(self._conanfile):
65
+ def get_package_name(self, package, host_package=True):
66
+ # Only if the package is for building, for example a library,
67
+ # we should add the host arch when cross building.
68
+ # If the package is a tool that should be installed on the current build
69
+ # machine we should not add the arch.
70
+ if self._arch in self._arch_names and cross_building(self._conanfile) and host_package:
68
71
  return "{}{}{}".format(package, self._arch_separator,
69
72
  self._arch_names.get(self._arch))
70
73
  return package
@@ -149,7 +152,7 @@ class _SystemPackageManagerTool(object):
149
152
  self._conanfile.output.warning(str(error))
150
153
  raise ConanException("None of the installs for the package substitutes succeeded.")
151
154
 
152
- def _install(self, packages, update=False, check=True, **kwargs):
155
+ def _install(self, packages, update=False, check=True, host_package=True, **kwargs):
153
156
  pkgs = self._conanfile.system_requires.setdefault(self._active_tool, {})
154
157
  install_pkgs = pkgs.setdefault("install", [])
155
158
  install_pkgs.extend(p for p in packages if p not in install_pkgs)
@@ -157,7 +160,7 @@ class _SystemPackageManagerTool(object):
157
160
  return
158
161
 
159
162
  if check or self._mode in (self.mode_check, self.mode_report_installed):
160
- packages = self.check(packages)
163
+ packages = self.check(packages, host_package=host_package)
161
164
  missing_pkgs = pkgs.setdefault("missing", [])
162
165
  missing_pkgs.extend(p for p in packages if p not in missing_pkgs)
163
166
 
@@ -178,7 +181,7 @@ class _SystemPackageManagerTool(object):
178
181
  if update:
179
182
  self.update()
180
183
 
181
- packages_arch = [self.get_package_name(package) for package in packages]
184
+ packages_arch = [self.get_package_name(package, host_package=host_package) for package in packages]
182
185
  if packages_arch:
183
186
  command = self.install_command.format(sudo=self.sudo_str,
184
187
  tool=self.tool_name,
@@ -196,8 +199,8 @@ class _SystemPackageManagerTool(object):
196
199
  command = self.update_command.format(sudo=self.sudo_str, tool=self.tool_name)
197
200
  return self._conanfile_run(command, self.accepted_update_codes)
198
201
 
199
- def _check(self, packages):
200
- missing = [pkg for pkg in packages if self.check_package(self.get_package_name(pkg)) != 0]
202
+ def _check(self, packages, host_package=True):
203
+ missing = [pkg for pkg in packages if self.check_package(self.get_package_name(pkg, host_package=host_package)) != 0]
201
204
  return missing
202
205
 
203
206
  def check_package(self, package):
@@ -234,7 +237,7 @@ class Apt(_SystemPackageManagerTool):
234
237
 
235
238
  self._arch_separator = ":"
236
239
 
237
- def install(self, packages, update=False, check=True, recommends=False):
240
+ def install(self, packages, update=False, check=True, recommends=False, host_package=True):
238
241
  """
239
242
  Will try to install the list of packages passed as a parameter. Its
240
243
  behaviour is affected by the value of ``tools.system.package_manager:mode``
@@ -243,13 +246,15 @@ class Apt(_SystemPackageManagerTool):
243
246
  :param packages: try to install the list of packages passed as a parameter.
244
247
  :param update: try to update the package manager database before checking and installing.
245
248
  :param check: check if the packages are already installed before installing them.
249
+ :param host_package: install the packages for the host machine architecture (the machine
250
+ that will run the software), it has an effect when cross building.
246
251
  :param recommends: if the parameter ``recommends`` is ``False`` it will add the
247
252
  ``'--no-install-recommends'`` argument to the *apt-get* command call.
248
253
  :return: the return code of the executed apt command.
249
254
  """
250
255
  recommends_str = '' if recommends else '--no-install-recommends '
251
256
  return super(Apt, self).install(packages, update=update, check=check,
252
- recommends=recommends_str)
257
+ host_package=host_package, recommends=recommends_str)
253
258
 
254
259
 
255
260
  class Yum(_SystemPackageManagerTool):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: conan-server
3
- Version: 2.0.11
3
+ Version: 2.0.12
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.0.11'
5
+ __version__ = '2.0.12'
@@ -105,14 +105,14 @@ compiler:
105
105
  clang:
106
106
  version: ["3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0",
107
107
  "5.0", "6.0", "7.0", "7.1",
108
- "8", "9", "10", "11", "12", "13", "14", "15", "16"]
108
+ "8", "9", "10", "11", "12", "13", "14", "15", "16", "17"]
109
109
  libcxx: [null, libstdc++, libstdc++11, libc++, c++_shared, c++_static]
110
110
  cppstd: [null, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20, 23, gnu23]
111
111
  runtime: [null, static, dynamic]
112
112
  runtime_type: [null, Debug, Release]
113
113
  runtime_version: [null, v140, v141, v142, v143]
114
114
  apple-clang:
115
- version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0", "12.0", "13", "13.0", "13.1", "14", "14.0", "15"]
115
+ version: ["5.0", "5.1", "6.0", "6.1", "7.0", "7.3", "8.0", "8.1", "9.0", "9.1", "10.0", "11.0", "12.0", "13", "13.0", "13.1", "14", "14.0", "15", "15.0"]
116
116
  libcxx: [libstdc++, libc++]
117
117
  cppstd: [null, 98, gnu98, 11, gnu11, 14, gnu14, 17, gnu17, 20, gnu20, 23, gnu23]
118
118
  intel-cc:
@@ -90,6 +90,7 @@ class BinaryCompatibility:
90
90
  result = OrderedDict()
91
91
  original_info = conanfile.info
92
92
  original_settings = conanfile.settings
93
+ original_settings_target = conanfile.settings_target
93
94
  original_options = conanfile.options
94
95
  for c in compat_infos:
95
96
  # we replace the conanfile, so ``validate()`` and ``package_id()`` can
@@ -105,6 +106,7 @@ class BinaryCompatibility:
105
106
  # Restore the original state
106
107
  conanfile.info = original_info
107
108
  conanfile.settings = original_settings
109
+ conanfile.settings_target = original_settings_target
108
110
  conanfile.options = original_options
109
111
  return result
110
112
 
@@ -104,30 +104,48 @@ class GraphBinariesAnalyzer(object):
104
104
  existing = compatibles.pop(original_package_id, None) # Skip main package_id
105
105
  if existing: # Skip the check if same package_id
106
106
  conanfile.output.info(f"Compatible package ID {original_package_id} equal to "
107
- "the default package ID")
107
+ "the default package ID: Skipping it.")
108
108
 
109
- if compatibles:
110
- conanfile.output.info(f"Checking {len(compatibles)} compatible configurations:")
109
+ if not compatibles:
110
+ return
111
+
112
+ def _compatible_found(pkg_id, compatible_pkg):
113
+ diff = conanfile.info.dump_diff(compatible_pkg)
114
+ conanfile.output.info(f"Main binary package '{original_package_id}' missing. Using "
115
+ f"compatible package '{pkg_id}': {diff}")
116
+ # So they are available in package_info() method
117
+ conanfile.info = compatible_pkg # Redefine current
118
+ conanfile.settings.update_values(compatible_pkg.settings.values_list)
119
+ # Trick to allow mutating the options (they were freeze=True)
120
+ # TODO: Improve this interface
121
+ conanfile.options = conanfile.options.copy_conaninfo_options()
122
+ conanfile.options.update_options(compatible_pkg.options)
123
+
124
+ conanfile.output.info(f"Checking {len(compatibles)} compatible configurations")
111
125
  for package_id, compatible_package in compatibles.items():
112
- conanfile.output.info(f"'{package_id}': "
113
- f"{conanfile.info.dump_diff(compatible_package)}")
126
+ if update:
127
+ conanfile.output.info(f"'{package_id}': "
128
+ f"{conanfile.info.dump_diff(compatible_package)}")
114
129
  node._package_id = package_id # Modifying package id under the hood, FIXME
115
130
  node.binary = None # Invalidate it
116
- self._process_compatible_node(node, remotes, update)
117
- if node.binary in (BINARY_CACHE, BINARY_DOWNLOAD, BINARY_UPDATE):
118
- conanfile.output.info("Main binary package '%s' missing. Using "
119
- "compatible package '%s'" % (original_package_id, package_id))
120
- # So they are available in package_info() method
121
- conanfile.info = compatible_package # Redefine current
122
- conanfile.settings.update_values(compatible_package.settings.values_list)
123
- # Trick to allow mutating the options (they were freeze=True)
124
- # TODO: Improve this interface
125
- conanfile.options = conanfile.options.copy_conaninfo_options()
126
- conanfile.options.update_options(compatible_package.options)
127
- break
128
- else: # If no compatible is found, restore original state
129
- node.binary = original_binary
130
- node._package_id = original_package_id
131
+ self._process_compatible_node(node, remotes, update) # TODO: what if BINARY_BUILD
132
+ if node.binary in (BINARY_CACHE, BINARY_UPDATE, BINARY_DOWNLOAD):
133
+ _compatible_found(package_id, compatible_package)
134
+ return
135
+ if not update:
136
+ conanfile.output.info(f"Compatible configurations not found in cache, checking servers")
137
+ for package_id, compatible_package in compatibles.items():
138
+ conanfile.output.info(f"'{package_id}': "
139
+ f"{conanfile.info.dump_diff(compatible_package)}")
140
+ node._package_id = package_id # Modifying package id under the hood, FIXME
141
+ node.binary = None # Invalidate it
142
+ self._evaluate_download(node, remotes, update)
143
+ if node.binary == BINARY_DOWNLOAD:
144
+ _compatible_found(package_id, compatible_package)
145
+ return
146
+ # If no compatible is found, restore original state
147
+ node.binary = original_binary
148
+ node._package_id = original_package_id
131
149
 
132
150
  def _evaluate_node(self, node, build_mode, remotes, update):
133
151
  assert node.binary is None, "Node.binary should be None"
@@ -225,10 +243,11 @@ class GraphBinariesAnalyzer(object):
225
243
  if not self._evaluate_clean_pkg_folder_dirty(node, package_layout):
226
244
  break
227
245
 
228
- if cache_latest_prev is None: # This binary does NOT exist in the cache
229
- self._evaluate_download(node, remotes, update)
230
- else: # This binary already exists in the cache, maybe can be updated
246
+ if cache_latest_prev is not None:
247
+ # This binary already exists in the cache, maybe can be updated
231
248
  self._evaluate_in_cache(cache_latest_prev, node, remotes, update)
249
+ elif update:
250
+ self._evaluate_download(node, remotes, update)
232
251
 
233
252
  def _process_locked_node(self, node, build_mode, locked_prev):
234
253
  # Check that this same reference hasn't already been checked
@@ -81,6 +81,8 @@ class ConanRequester(object):
81
81
  adapter = HTTPAdapter(max_retries=self._get_retries(config))
82
82
  self._http_requester.mount("http://", adapter)
83
83
  self._http_requester.mount("https://", adapter)
84
+ else:
85
+ self._http_requester = requests
84
86
 
85
87
  self._url_creds = URLCredentials(cache_folder)
86
88
  self._timeout = config.get("core.net.http:timeout", default=DEFAULT_TIMEOUT)
@@ -171,7 +173,7 @@ class ConanRequester(object):
171
173
  popped = True if os.environ.pop(var_name.upper(), None) else popped
172
174
  try:
173
175
  all_kwargs = self._add_kwargs(url, kwargs)
174
- tmp = getattr(requests, method)(url, **all_kwargs)
176
+ tmp = getattr(self._http_requester, method)(url, **all_kwargs)
175
177
  return tmp
176
178
  finally:
177
179
  if popped:
@@ -459,7 +459,8 @@ class CppInfo:
459
459
  self._package.sysroot = self._package.sysroot or other._package.sysroot
460
460
  # COMPONENTS
461
461
  for cname, c in other.components.items():
462
- self.components[cname].merge(c, overwrite)
462
+ # Make sure each component created on the fly does not bring new defaults
463
+ self.components.setdefault(cname, _Component(set_defaults=False)).merge(c, overwrite)
463
464
 
464
465
  def set_relative_base_folder(self, folder):
465
466
  """Prepend the folder to all the directories definitions, that are relative"""
@@ -417,7 +417,8 @@ class TestClient(object):
417
417
  self.out = ""
418
418
  self.stdout = RedirectedTestOutput()
419
419
  self.stderr = RedirectedTestOutput()
420
- self.user_inputs = RedirectedInputStream(inputs)
420
+ self.user_inputs = RedirectedInputStream([])
421
+ self.inputs = inputs or []
421
422
 
422
423
  # create default profile
423
424
  text = default_profiles[platform.system()]
@@ -513,13 +514,14 @@ class TestClient(object):
513
514
  self._handle_cli_result(command_line, assert_error=assert_error, error=error, trace=trace)
514
515
  return error
515
516
 
516
- def run(self, command_line, assert_error=False, redirect_stdout=None, redirect_stderr=None):
517
+ def run(self, command_line, assert_error=False, redirect_stdout=None, redirect_stderr=None, inputs=None):
517
518
  """ run a single command as in the command line.
518
519
  If user or password is filled, user_io will be mocked to return this
519
520
  tuple if required
520
521
  """
521
522
  from conans.test.utils.mocks import RedirectedTestOutput
522
523
  with environment_update({"NO_COLOR": "1"}): # Not initialize colorama in testing
524
+ self.user_inputs = RedirectedInputStream(inputs or self.inputs)
523
525
  self.stdout = RedirectedTestOutput() # Initialize each command
524
526
  self.stderr = RedirectedTestOutput()
525
527
  self.out = ""
File without changes
File without changes
File without changes