conan-server 2.0.16__tar.gz → 2.0.17__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.
- {conan-server-2.0.16 → conan-server-2.0.17}/PKG-INFO +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/cache.py +2 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/cli.py +34 -24
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/list.py +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/detect_api.py +44 -38
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/toolchain/blocks.py +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/pkgconfigdeps.py +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/google/bazeldeps.py +5 -4
- {conan-server-2.0.16 → conan-server-2.0.17}/conan_server.egg-info/PKG-INFO +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/__init__.py +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conf/detect.py +3 -3
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/graph_builder.py +3 -4
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/migrations.py +4 -2
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/profile_loader.py +7 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/conf.py +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/requires.py +1 -1
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/conftest.py +3 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/LICENSE.md +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/MANIFEST.in +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/README.md +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/conan_api.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/model.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/output.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/config.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/download.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/export.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/graph.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/install.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/list.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/local.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/lockfile.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/new.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/profiles.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/remotes.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/remove.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/search.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/api/subapi/upload.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/args.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/command.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/build.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/cache.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/config.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/create.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/download.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/editable.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/export.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/export_pkg.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/graph.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/inspect.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/install.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/lock.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/new.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/profile.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/remote.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/remove.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/search.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/source.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/test.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/upload.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/commands/version.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/exit_codes.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/graph/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/graph/graph.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/graph/graph_info_text.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/graph/info_graph_dot.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/graph/info_graph_html.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/list/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/list/binary_html_table.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/list/list.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/formatters/list/search_table_html.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/printers/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/cli/printers/graph.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/errors.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/alias_new.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/autoools_exe.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/autotools_lib.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/basic.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/bazel_exe.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/bazel_lib.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/cmake_exe.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/cmake_lib.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/meson_exe.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/meson_lib.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/msbuild_exe.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/api/new/msbuild_lib.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/cache.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/conan_reference_layout.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/db/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/db/cache_database.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/db/packages_table.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/db/recipes_table.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/db/table.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/cache/home_paths.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/conan_app.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/deploy.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/integrity_check.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/internal/upload_metadata.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/android/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/android/utils.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/apple/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/apple/apple.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/apple/xcodebuild.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/apple/xcodedeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/apple/xcodetoolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/build/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/build/cppstd.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/build/cpu.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/build/cross_building.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/build/flags.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/build/stdcpp_library.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmake.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/cmakedeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/config.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/config_version.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/macros.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/target_configuration.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/target_data.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/cmakedeps/templates/targets.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/layout.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/presets.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/toolchain/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/toolchain/toolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/cmake/utils.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/env/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/env/environment.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/env/virtualbuildenv.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/env/virtualrunenv.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/conandata.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/copy_pattern.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/files.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/packager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/patches.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/symlinks/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/files/symlinks/symlinks.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/autotools.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/autotoolsdeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/autotoolstoolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/get_gnu_triplet.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/gnudeps_flags.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/makedeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/gnu/pkgconfig.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/google/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/google/bazel.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/google/layout.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/google/toolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/intel/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/intel/intel_cc.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/layout/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/meson/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/meson/helpers.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/meson/meson.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/meson/toolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/layout.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/msbuild.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/msbuilddeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/nmakedeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/nmaketoolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/subsystems.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/toolchain.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/microsoft/visual.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/premake/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/premake/premake.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/premake/premakedeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/qbs/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/qbs/qbs.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/qbs/qbsprofile.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/scm/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/scm/git.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/scons/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/scons/sconsdeps.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/system/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan/tools/system/package_manager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan_server.egg-info/SOURCES.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan_server.egg-info/dependency_links.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan_server.egg-info/entry_points.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan_server.egg-info/requires.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conan_server.egg-info/top_level.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cache/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cache/cache.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cache/editable.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cache/remote_registry.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cmd/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cmd/export.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cmd/uploader.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/cmd/user.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conanfile/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conanfile/build.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conanfile/configure.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conanfile/implementations.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conanfile/package.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conf/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conf/config_installer.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conf/detect_vs.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/conf/required_version.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/downloaders/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/downloaders/caching_file_downloader.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/downloaders/download_cache.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/downloaders/file_downloader.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/generators/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/build_mode.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/compatibility.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/compute_pid.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/graph.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/graph_binaries.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/graph_error.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/install_graph.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/profile_node_definer.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/provides.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/proxy.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/python_requires.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/graph/range_resolver.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/hook_manager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/installer.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/loader.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/loader_txt.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/pkg_sign.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/remote_manager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/auth_manager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/client_routes.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/conan_requester.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/file_uploader.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/remote_credentials.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/rest_client.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/rest_client_common.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/rest/rest_client_v2.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/source.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/store/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/store/localdb.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/subsystems.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/client/userio.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/conan.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/conan_server.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/errors.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/migrations.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/build_info.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/conan_file.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/conanfile_interface.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/dependencies.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/graph_lock.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/info.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/layout.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/manifest.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/options.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/package_ref.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/pkg_type.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/profile.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/recipe_ref.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/rest_routes.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/settings.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/version.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/model/version_range.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/paths/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/pylint_plugin.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/requirements.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/requirements_dev.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/requirements_server.txt +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/search/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/search/query_parse.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/search/search.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/conf/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/conf/default_server_conf.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/crypto/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/crypto/jwt/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/crypto/jwt/jwt_credentials_manager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/crypto/jwt/jwt_manager.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/launcher.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/migrate.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/migrations.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/plugin_loader.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/api_v2.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/bottle_plugins/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/bottle_plugins/authorization_header.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/bottle_plugins/http_basic_authentication.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/bottle_plugins/jwt_authentication.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/bottle_plugins/return_handler.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/bottle_routes.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/conan.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/delete.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/ping.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/revisions.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/search.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/controller/v2/users.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/rest/server.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/revision_list.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/server_launcher.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/authorize.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/mime.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/user_service.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/v2/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/v2/search.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/service/v2/service_v2.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/store/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/store/disk_adapter.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/store/server_store.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/utils/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/server/utils/files.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/artifactory.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/file_server.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/mocks.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/profiles.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/scm.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/server_launcher.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/test_files.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/test/utils/tools.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/__init__.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/config_parser.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/dates.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/encrypt.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/env.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/files.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/locks.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/runners.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/sha.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/thread.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/conans/util/windows.py +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/pyproject.toml +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/setup.cfg +0 -0
- {conan-server-2.0.16 → conan-server-2.0.17}/setup.py +0 -0
|
@@ -13,7 +13,7 @@ from conans.errors import ConanException
|
|
|
13
13
|
from conans.model.package_ref import PkgReference
|
|
14
14
|
from conans.model.recipe_ref import RecipeReference
|
|
15
15
|
from conans.util.dates import revision_timestamp_now
|
|
16
|
-
from conans.util.files import rmdir, gzopen_without_timestamps
|
|
16
|
+
from conans.util.files import rmdir, gzopen_without_timestamps, mkdir
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class CacheAPI:
|
|
@@ -113,6 +113,7 @@ class CacheAPI:
|
|
|
113
113
|
cache_folder = self.conan_api.cache_folder
|
|
114
114
|
app = ConanApp(cache_folder, self.conan_api.config.global_conf)
|
|
115
115
|
out = ConanOutput()
|
|
116
|
+
mkdir(os.path.dirname(tgz_path))
|
|
116
117
|
name = os.path.basename(tgz_path)
|
|
117
118
|
with open(tgz_path, "wb") as tgz_handle:
|
|
118
119
|
tgz = gzopen_without_timestamps(name, mode="w", fileobj=tgz_handle)
|
|
@@ -47,35 +47,43 @@ class Cli:
|
|
|
47
47
|
for k, v in self._commands.items(): # Fill groups data too
|
|
48
48
|
self._groups[v.group].append(k)
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
conan_custom_commands_path = HomePaths(self._conan_api.cache_folder).custom_commands_path
|
|
51
|
+
# Important! This variable should be only used for testing/debugging purpose
|
|
52
|
+
developer_custom_commands_path = os.getenv("_CONAN_INTERNAL_CUSTOM_COMMANDS_PATH")
|
|
53
|
+
# Notice that in case of having same custom commands file names, the developer one has
|
|
54
|
+
# preference over the Conan default location because of the sys.path.append(xxxx)
|
|
55
|
+
custom_commands_folders = [developer_custom_commands_path, conan_custom_commands_path] \
|
|
56
|
+
if developer_custom_commands_path else [conan_custom_commands_path]
|
|
57
|
+
|
|
58
|
+
for custom_commands_path in custom_commands_folders:
|
|
59
|
+
if not os.path.isdir(custom_commands_path):
|
|
60
|
+
return
|
|
53
61
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
module_name = module[1]
|
|
57
|
-
if module_name.startswith("cmd_"):
|
|
58
|
-
try:
|
|
59
|
-
self._add_command(module_name, module_name.replace("cmd_", ""))
|
|
60
|
-
except Exception as e:
|
|
61
|
-
ConanOutput().error(f"Error loading custom command '{module_name}.py': {e}",
|
|
62
|
-
error_type="exception")
|
|
63
|
-
# layers
|
|
64
|
-
for folder in os.listdir(custom_commands_path):
|
|
65
|
-
layer_folder = os.path.join(custom_commands_path, folder)
|
|
66
|
-
sys.path.append(layer_folder)
|
|
67
|
-
if not os.path.isdir(layer_folder):
|
|
68
|
-
continue
|
|
69
|
-
for module in pkgutil.iter_modules([layer_folder]):
|
|
62
|
+
sys.path.append(custom_commands_path)
|
|
63
|
+
for module in pkgutil.iter_modules([custom_commands_path]):
|
|
70
64
|
module_name = module[1]
|
|
71
65
|
if module_name.startswith("cmd_"):
|
|
72
|
-
module_path = f"{folder}.{module_name}"
|
|
73
66
|
try:
|
|
74
|
-
self._add_command(
|
|
75
|
-
package=folder)
|
|
67
|
+
self._add_command(module_name, module_name.replace("cmd_", ""))
|
|
76
68
|
except Exception as e:
|
|
77
|
-
ConanOutput().error(f"Error loading custom command {
|
|
69
|
+
ConanOutput().error(f"Error loading custom command '{module_name}.py': {e}",
|
|
78
70
|
error_type="exception")
|
|
71
|
+
# layers
|
|
72
|
+
for folder in os.listdir(custom_commands_path):
|
|
73
|
+
layer_folder = os.path.join(custom_commands_path, folder)
|
|
74
|
+
sys.path.append(layer_folder)
|
|
75
|
+
if not os.path.isdir(layer_folder):
|
|
76
|
+
continue
|
|
77
|
+
for module in pkgutil.iter_modules([layer_folder]):
|
|
78
|
+
module_name = module[1]
|
|
79
|
+
if module_name.startswith("cmd_"):
|
|
80
|
+
module_path = f"{folder}.{module_name}"
|
|
81
|
+
try:
|
|
82
|
+
self._add_command(module_path, module_name.replace("cmd_", ""),
|
|
83
|
+
package=folder)
|
|
84
|
+
except Exception as e:
|
|
85
|
+
ConanOutput().error(f"Error loading custom command {module_path}: {e}",
|
|
86
|
+
error_type="exception")
|
|
79
87
|
|
|
80
88
|
def _add_command(self, import_path, method_name, package=None):
|
|
81
89
|
try:
|
|
@@ -84,7 +92,9 @@ class Cli:
|
|
|
84
92
|
if command_wrapper.doc:
|
|
85
93
|
name = f"{package}:{command_wrapper.name}" if package else command_wrapper.name
|
|
86
94
|
self._commands[name] = command_wrapper
|
|
87
|
-
|
|
95
|
+
# Avoiding duplicated command help messages
|
|
96
|
+
if name not in self._groups[command_wrapper.group]:
|
|
97
|
+
self._groups[command_wrapper.group].append(name)
|
|
88
98
|
for name, value in getmembers(imported_module):
|
|
89
99
|
if isinstance(value, ConanSubCommand):
|
|
90
100
|
if name.startswith("{}_".format(method_name)):
|
|
@@ -109,7 +109,7 @@ def prepare_pkglist_compact(pkglist):
|
|
|
109
109
|
new_rrev = f"{ref}#{rrev}"
|
|
110
110
|
timestamp = rrev_info.pop("timestamp", None)
|
|
111
111
|
if timestamp:
|
|
112
|
-
new_rrev += f" ({timestamp_to_str(timestamp)})"
|
|
112
|
+
new_rrev += f"%{timestamp} ({timestamp_to_str(timestamp)})"
|
|
113
113
|
|
|
114
114
|
packages = rrev_info.pop("packages", None)
|
|
115
115
|
if packages:
|
|
@@ -122,7 +122,7 @@ def _get_e2k_architecture():
|
|
|
122
122
|
}.get(platform.processor())
|
|
123
123
|
|
|
124
124
|
|
|
125
|
-
def detect_libcxx(compiler, version):
|
|
125
|
+
def detect_libcxx(compiler, version, compiler_exe=None):
|
|
126
126
|
assert isinstance(version, Version)
|
|
127
127
|
|
|
128
128
|
def _detect_gcc_libcxx(version_, executable):
|
|
@@ -166,7 +166,7 @@ def detect_libcxx(compiler, version):
|
|
|
166
166
|
if compiler == "apple-clang":
|
|
167
167
|
return "libc++"
|
|
168
168
|
elif compiler == "gcc":
|
|
169
|
-
libcxx = _detect_gcc_libcxx(version, "g++")
|
|
169
|
+
libcxx = _detect_gcc_libcxx(version, compiler_exe or "g++")
|
|
170
170
|
return libcxx
|
|
171
171
|
elif compiler == "cc":
|
|
172
172
|
if platform.system() == "SunOS":
|
|
@@ -179,7 +179,7 @@ def detect_libcxx(compiler, version):
|
|
|
179
179
|
elif platform.system() == "Windows":
|
|
180
180
|
return # by default windows will assume LLVM/Clang with VS backend
|
|
181
181
|
else: # Linux
|
|
182
|
-
libcxx = _detect_gcc_libcxx(version, "clang++")
|
|
182
|
+
libcxx = _detect_gcc_libcxx(version, compiler_exe or "clang++")
|
|
183
183
|
return libcxx
|
|
184
184
|
elif compiler == "sun-cc":
|
|
185
185
|
return "libCstd"
|
|
@@ -243,17 +243,17 @@ def detect_cppstd(compiler, compiler_version):
|
|
|
243
243
|
return cppstd
|
|
244
244
|
|
|
245
245
|
|
|
246
|
-
def
|
|
247
|
-
"""
|
|
248
|
-
find the default compiler on the build machine
|
|
249
|
-
search order and priority:
|
|
250
|
-
1. CC and CXX environment variables are always top priority
|
|
251
|
-
2. Visual Studio detection (Windows only) via vswhere or registry or environment variables
|
|
252
|
-
3. Apple Clang (Mac only)
|
|
253
|
-
4. cc executable
|
|
254
|
-
5. gcc executable
|
|
255
|
-
6. clang executable
|
|
246
|
+
def detect_default_compiler():
|
|
256
247
|
"""
|
|
248
|
+
find the default compiler on the build machine
|
|
249
|
+
search order and priority:
|
|
250
|
+
1. CC and CXX environment variables are always top priority
|
|
251
|
+
2. Visual Studio detection (Windows only) via vswhere or registry or environment variables
|
|
252
|
+
3. Apple Clang (Mac only)
|
|
253
|
+
4. cc executable
|
|
254
|
+
5. gcc executable
|
|
255
|
+
6. clang executable
|
|
256
|
+
"""
|
|
257
257
|
output = ConanOutput(scope="detect_api")
|
|
258
258
|
cc = os.environ.get("CC", "")
|
|
259
259
|
cxx = os.environ.get("CXX", "")
|
|
@@ -263,11 +263,11 @@ def detect_compiler():
|
|
|
263
263
|
if "clang" in command.lower():
|
|
264
264
|
return _clang_compiler(command)
|
|
265
265
|
if "gcc" in command or "g++" in command or "c++" in command:
|
|
266
|
-
gcc, gcc_version = _gcc_compiler(command)
|
|
266
|
+
gcc, gcc_version, compiler_exe = _gcc_compiler(command)
|
|
267
267
|
if platform.system() == "Darwin" and gcc is None:
|
|
268
268
|
output.error("%s detected as a frontend using apple-clang. "
|
|
269
269
|
"Compiler not supported" % command)
|
|
270
|
-
return gcc, gcc_version
|
|
270
|
+
return gcc, gcc_version, compiler_exe
|
|
271
271
|
if platform.system() == "SunOS" and command.lower() == "cc":
|
|
272
272
|
return _sun_cc_compiler(command)
|
|
273
273
|
if (platform.system() == "Windows" and command.rstrip('"').endswith(("cl", "cl.exe"))
|
|
@@ -276,28 +276,28 @@ def detect_compiler():
|
|
|
276
276
|
|
|
277
277
|
# I am not able to find its version
|
|
278
278
|
output.error("Not able to automatically detect '%s' version" % command)
|
|
279
|
-
return None, None
|
|
279
|
+
return None, None, None
|
|
280
280
|
|
|
281
281
|
if platform.system() == "Windows":
|
|
282
282
|
version = _detect_vs_ide_version()
|
|
283
283
|
version = {"17": "193", "16": "192", "15": "191"}.get(str(version)) # Map to compiler
|
|
284
284
|
if version:
|
|
285
|
-
return 'msvc', Version(version)
|
|
285
|
+
return 'msvc', Version(version), None
|
|
286
286
|
|
|
287
287
|
if platform.system() == "SunOS":
|
|
288
|
-
sun_cc, sun_cc_version = _sun_cc_compiler()
|
|
288
|
+
sun_cc, sun_cc_version, compiler_exe = _sun_cc_compiler()
|
|
289
289
|
if sun_cc:
|
|
290
|
-
return sun_cc, sun_cc_version
|
|
290
|
+
return sun_cc, sun_cc_version, compiler_exe
|
|
291
291
|
|
|
292
292
|
if platform.system() in ["Darwin", "FreeBSD"]:
|
|
293
|
-
clang, clang_version = _clang_compiler() # prioritize clang
|
|
293
|
+
clang, clang_version, compiler_exe = _clang_compiler() # prioritize clang
|
|
294
294
|
if clang:
|
|
295
|
-
return clang, clang_version
|
|
295
|
+
return clang, clang_version, compiler_exe
|
|
296
296
|
return
|
|
297
297
|
else:
|
|
298
|
-
gcc, gcc_version = _gcc_compiler()
|
|
298
|
+
gcc, gcc_version, compiler_exe = _gcc_compiler()
|
|
299
299
|
if gcc:
|
|
300
|
-
return gcc, gcc_version
|
|
300
|
+
return gcc, gcc_version, compiler_exe
|
|
301
301
|
return _clang_compiler()
|
|
302
302
|
|
|
303
303
|
|
|
@@ -326,11 +326,11 @@ def _gcc_compiler(compiler_exe="gcc"):
|
|
|
326
326
|
_, out = detect_runner("%s --version" % compiler_exe)
|
|
327
327
|
out = out.lower()
|
|
328
328
|
if "clang" in out:
|
|
329
|
-
return None, None
|
|
329
|
+
return None, None, None
|
|
330
330
|
|
|
331
331
|
ret, out = detect_runner('%s -dumpversion' % compiler_exe)
|
|
332
332
|
if ret != 0:
|
|
333
|
-
return None, None
|
|
333
|
+
return None, None, None
|
|
334
334
|
compiler = "gcc"
|
|
335
335
|
installed_version = re.search(r"([0-9]+(\.[0-9])?)", out).group()
|
|
336
336
|
# Since GCC 7.1, -dumpversion return the major version number
|
|
@@ -338,9 +338,15 @@ def _gcc_compiler(compiler_exe="gcc"):
|
|
|
338
338
|
# number ("7.1.1").
|
|
339
339
|
if installed_version:
|
|
340
340
|
ConanOutput(scope="detect_api").info("Found %s %s" % (compiler, installed_version))
|
|
341
|
-
return compiler, Version(installed_version)
|
|
341
|
+
return compiler, Version(installed_version), compiler_exe
|
|
342
342
|
except (Exception,): # to disable broad-except
|
|
343
|
-
return None, None
|
|
343
|
+
return None, None, None
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
def detect_compiler():
|
|
347
|
+
ConanOutput(scope="detect_api").warning("detect_compiler() is deprecated, use detect_default_compiler()", warn_tag="deprecated")
|
|
348
|
+
compiler, version, _ = detect_default_compiler()
|
|
349
|
+
return compiler, version
|
|
344
350
|
|
|
345
351
|
|
|
346
352
|
def _sun_cc_compiler(compiler_exe="cc"):
|
|
@@ -354,28 +360,28 @@ def _sun_cc_compiler(compiler_exe="cc"):
|
|
|
354
360
|
installed_version = re.search(r"([0-9]+\.[0-9]+)", out).group()
|
|
355
361
|
if installed_version:
|
|
356
362
|
ConanOutput(scope="detect_api").info("Found %s %s" % (compiler, installed_version))
|
|
357
|
-
return compiler, Version(installed_version)
|
|
363
|
+
return compiler, Version(installed_version), compiler_exe
|
|
358
364
|
except (Exception,): # to disable broad-except
|
|
359
|
-
return None, None
|
|
365
|
+
return None, None, None
|
|
360
366
|
|
|
361
367
|
|
|
362
368
|
def _clang_compiler(compiler_exe="clang"):
|
|
363
369
|
try:
|
|
364
370
|
ret, out = detect_runner('%s --version' % compiler_exe)
|
|
365
371
|
if ret != 0:
|
|
366
|
-
return None, None
|
|
372
|
+
return None, None, None
|
|
367
373
|
if "Apple" in out:
|
|
368
374
|
compiler = "apple-clang"
|
|
369
375
|
elif "clang version" in out:
|
|
370
376
|
compiler = "clang"
|
|
371
377
|
else:
|
|
372
|
-
return None, None
|
|
378
|
+
return None, None, None
|
|
373
379
|
installed_version = re.search(r"([0-9]+\.[0-9])", out).group()
|
|
374
380
|
if installed_version:
|
|
375
381
|
ConanOutput(scope="detect_api").info("Found %s %s" % (compiler, installed_version))
|
|
376
|
-
return compiler, Version(installed_version)
|
|
382
|
+
return compiler, Version(installed_version), compiler_exe
|
|
377
383
|
except (Exception,): # to disable broad-except
|
|
378
|
-
return None, None
|
|
384
|
+
return None, None, None
|
|
379
385
|
|
|
380
386
|
|
|
381
387
|
def _msvc_cl_compiler(compiler_exe="cl"):
|
|
@@ -386,20 +392,20 @@ def _msvc_cl_compiler(compiler_exe="cl"):
|
|
|
386
392
|
compiler_exe = compiler_exe.strip('"')
|
|
387
393
|
ret, out = detect_runner(f'"{compiler_exe}" /?')
|
|
388
394
|
if ret != 0:
|
|
389
|
-
return None, None
|
|
395
|
+
return None, None, None
|
|
390
396
|
first_line = out.splitlines()[0]
|
|
391
397
|
if "Microsoft" not in first_line:
|
|
392
|
-
return None, None
|
|
398
|
+
return None, None, None
|
|
393
399
|
compiler = "msvc"
|
|
394
400
|
version_regex = re.search(r"(?P<major>[0-9]+)\.(?P<minor>[0-9]+)\.([0-9]+)\.?([0-9]+)?",
|
|
395
401
|
first_line)
|
|
396
402
|
if not version_regex:
|
|
397
|
-
return None, None
|
|
403
|
+
return None, None, None
|
|
398
404
|
# 19.36.32535 -> 193
|
|
399
405
|
version = f"{version_regex.group('major')}{version_regex.group('minor')[0]}"
|
|
400
|
-
return compiler, Version(version)
|
|
406
|
+
return compiler, Version(version), compiler_exe
|
|
401
407
|
except (Exception,): # to disable broad-except
|
|
402
|
-
return None, None
|
|
408
|
+
return None, None, None
|
|
403
409
|
|
|
404
410
|
|
|
405
411
|
def default_compiler_version(compiler, version):
|
|
@@ -826,7 +826,7 @@ class GenericSystemBlock(Block):
|
|
|
826
826
|
cmake_sysroot = self._conanfile.conf.get("tools.build:sysroot")
|
|
827
827
|
cmake_sysroot = cmake_sysroot.replace("\\", "/") if cmake_sysroot is not None else None
|
|
828
828
|
|
|
829
|
-
result = self._get_winsdk_version(system_version,
|
|
829
|
+
result = self._get_winsdk_version(system_version, generator_platform)
|
|
830
830
|
system_version, winsdk_version, gen_platform_sdk_version = result
|
|
831
831
|
|
|
832
832
|
return {"toolset": toolset,
|
|
@@ -286,7 +286,7 @@ class _PCGenerator:
|
|
|
286
286
|
requires = self._get_cpp_info_requires_names(self._dep.cpp_info)
|
|
287
287
|
# If we have found some component requires it would be enough
|
|
288
288
|
if not requires:
|
|
289
|
-
# If no requires were found, let's try to get all the direct dependencies,
|
|
289
|
+
# If no requires were found, let's try to get all the direct visible dependencies,
|
|
290
290
|
# e.g., requires = "other_pkg/1.0"
|
|
291
291
|
requires = [_get_package_name(req, self._build_context_suffix)
|
|
292
292
|
for req in self._transitive_reqs.values()]
|
|
@@ -117,15 +117,16 @@ def _get_libs(dep, cpp_info=None) -> list:
|
|
|
117
117
|
full_path = os.path.join(libdir, f)
|
|
118
118
|
if not os.path.isfile(full_path): # Make sure that directories are excluded
|
|
119
119
|
continue
|
|
120
|
+
name, ext = os.path.splitext(f)
|
|
120
121
|
# Users may not name their libraries in a conventional way. For example, directly
|
|
121
|
-
# use the basename of the lib file as lib name.
|
|
122
|
-
|
|
122
|
+
# use the basename of the lib file as lib name, e.g., cpp_info.libs = ["liblib1.a"]
|
|
123
|
+
# Issue related: https://github.com/conan-io/conan/issues/11331
|
|
124
|
+
if ext and f in libs: # let's ensure that it has any extension
|
|
123
125
|
_save_lib_path(f, full_path)
|
|
124
126
|
continue
|
|
125
|
-
name, ext = os.path.splitext(f)
|
|
126
127
|
if name not in libs and name.startswith("lib"):
|
|
127
128
|
name = name[3:] # libpkg -> pkg
|
|
128
|
-
|
|
129
|
+
# FIXME: Should it read a conf variable to know unexpected extensions?
|
|
129
130
|
if (is_shared and ext in (".so", ".dylib", ".lib", ".dll")) or \
|
|
130
131
|
(not is_shared and ext in (".a", ".lib")):
|
|
131
132
|
if name in libs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from conan.api.output import ConanOutput
|
|
2
2
|
from conan.internal.api.detect_api import detect_os, detect_arch, default_msvc_runtime, \
|
|
3
|
-
detect_libcxx, detect_cppstd,
|
|
3
|
+
detect_libcxx, detect_cppstd, detect_default_compiler, default_compiler_version
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
def detect_defaults_settings():
|
|
@@ -14,7 +14,7 @@ def detect_defaults_settings():
|
|
|
14
14
|
arch = detect_arch()
|
|
15
15
|
if arch:
|
|
16
16
|
result.append(("arch", arch))
|
|
17
|
-
compiler, version =
|
|
17
|
+
compiler, version, compiler_exe = detect_default_compiler()
|
|
18
18
|
if not compiler:
|
|
19
19
|
result.append(("build_type", "Release"))
|
|
20
20
|
ConanOutput().warning("No compiler was detected (one may not be needed)")
|
|
@@ -28,7 +28,7 @@ def detect_defaults_settings():
|
|
|
28
28
|
result.append(("compiler.runtime", runtime))
|
|
29
29
|
if runtime_version:
|
|
30
30
|
result.append(("compiler.runtime_version", runtime_version))
|
|
31
|
-
libcxx = detect_libcxx(compiler, version)
|
|
31
|
+
libcxx = detect_libcxx(compiler, version, compiler_exe)
|
|
32
32
|
if libcxx:
|
|
33
33
|
result.append(("compiler.libcxx", libcxx))
|
|
34
34
|
cppstd = detect_cppstd(compiler, version)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import os
|
|
3
|
-
import re
|
|
4
3
|
from collections import deque
|
|
5
4
|
|
|
6
5
|
from conans.client.conanfile.configure import run_configure_method
|
|
@@ -14,7 +13,6 @@ from conans.client.graph.provides import check_graph_provides
|
|
|
14
13
|
from conans.errors import ConanException
|
|
15
14
|
from conans.model.conan_file import ConanFile
|
|
16
15
|
from conans.model.options import Options
|
|
17
|
-
from conans.model.package_ref import PkgReference
|
|
18
16
|
from conans.model.recipe_ref import RecipeReference, ref_matches
|
|
19
17
|
from conans.model.requires import Requirement
|
|
20
18
|
|
|
@@ -280,11 +278,12 @@ class DepsGraphBuilder(object):
|
|
|
280
278
|
tracking_ref = require_version.split(':', 1)
|
|
281
279
|
ref = require.ref
|
|
282
280
|
if len(tracking_ref) > 1:
|
|
283
|
-
ref = RecipeReference.loads(str(
|
|
281
|
+
ref = RecipeReference.loads(str(require.ref))
|
|
284
282
|
ref.name = tracking_ref[1][:-1] # Remove the trailing >
|
|
285
283
|
req = Requirement(ref, headers=True, libs=True, visible=True)
|
|
286
284
|
transitive = node.transitive_deps.get(req)
|
|
287
|
-
if transitive is None
|
|
285
|
+
if transitive is None or transitive.require.ref.user != ref.user \
|
|
286
|
+
or transitive.require.ref.channel != ref.channel:
|
|
288
287
|
raise ConanException(f"{node.ref} require '{ref}': didn't find a matching "
|
|
289
288
|
"host dependency")
|
|
290
289
|
require.ref.version = transitive.require.ref.version
|
|
@@ -58,11 +58,13 @@ class ClientMigrator(Migrator):
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
def _migrate_pkg_db_lru(cache_folder, old_version):
|
|
61
|
-
ConanOutput().warning(f"Upgrade cache from Conan version '{old_version}'")
|
|
62
|
-
ConanOutput().warning("Running 2.0.14 Cache DB migration to add LRU column")
|
|
63
61
|
config = ConfigAPI.load_config(cache_folder)
|
|
64
62
|
storage = config.get("core.cache:storage_path") or os.path.join(cache_folder, "p")
|
|
65
63
|
db_filename = os.path.join(storage, 'cache.sqlite3')
|
|
64
|
+
if not os.path.exists(db_filename):
|
|
65
|
+
return
|
|
66
|
+
ConanOutput().warning(f"Upgrade cache from Conan version '{old_version}'")
|
|
67
|
+
ConanOutput().warning("Running 2.0.14 Cache DB migration to add LRU column")
|
|
66
68
|
connection = sqlite3.connect(db_filename, isolation_level=None,
|
|
67
69
|
timeout=1, check_same_thread=False)
|
|
68
70
|
try:
|
|
@@ -126,8 +126,14 @@ class ProfileLoader:
|
|
|
126
126
|
"profile_name": file_path,
|
|
127
127
|
"conan_version": conan_version,
|
|
128
128
|
"detect_api": detect_api}
|
|
129
|
+
|
|
129
130
|
rtemplate = Environment(loader=FileSystemLoader(base_path)).from_string(text)
|
|
130
|
-
|
|
131
|
+
|
|
132
|
+
try:
|
|
133
|
+
text = rtemplate.render(context)
|
|
134
|
+
except Exception as e:
|
|
135
|
+
raise ConanException(f"Error while rendering the profile template file '{profile_path}'. "
|
|
136
|
+
f"Check your Jinja2 syntax: {str(e)}")
|
|
131
137
|
|
|
132
138
|
try:
|
|
133
139
|
return self._recurse_load_profile(text, profile_path)
|
|
@@ -347,7 +347,7 @@ class Conf:
|
|
|
347
347
|
"""
|
|
348
348
|
Returns a string with the format ``name=conf-value``
|
|
349
349
|
"""
|
|
350
|
-
return "\n".join([v.dumps() for v in
|
|
350
|
+
return "\n".join([v.dumps() for v in sorted(self._values.values(), key=lambda x: x._name)])
|
|
351
351
|
|
|
352
352
|
def serialize(self):
|
|
353
353
|
"""
|
|
@@ -268,7 +268,7 @@ class Requirement:
|
|
|
268
268
|
if require.build: # public!
|
|
269
269
|
# TODO: To discuss if this way of conflicting build_requires is actually useful or not
|
|
270
270
|
downstream_require = Requirement(require.ref, headers=False, libs=False, build=True,
|
|
271
|
-
run=False, visible=
|
|
271
|
+
run=False, visible=self.visible, direct=False)
|
|
272
272
|
return downstream_require
|
|
273
273
|
|
|
274
274
|
if self.build: # Build-requires
|
|
@@ -91,6 +91,9 @@ tools_locations = {
|
|
|
91
91
|
"path": {'Windows': 'C:/cmake/cmake-3.23.1-win64-x64/bin',
|
|
92
92
|
'Darwin': '/Users/jenkins/cmake/cmake-3.23.1/bin',
|
|
93
93
|
'Linux': "/usr/share/cmake-3.23.5/bin"}
|
|
94
|
+
},
|
|
95
|
+
"3.28": {
|
|
96
|
+
"disabled": True # TODO: Still not in CI
|
|
94
97
|
}
|
|
95
98
|
},
|
|
96
99
|
'ninja': {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|