conan-server 2.0.10__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.
- {conan-server-2.0.10 → conan-server-2.0.12}/PKG-INFO +1 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/output.py +1 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/args.py +2 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/build.py +19 -13
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/export_pkg.py +6 -3
- conan-server-2.0.12/conan/cli/commands/install.py +81 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/lock.py +2 -2
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/profile.py +10 -5
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/remove.py +8 -4
- conan-server-2.0.10/conans/client/conf/detect.py → conan-server-2.0.12/conan/internal/api/detect_api.py +318 -344
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/build/cppstd.py +2 -2
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/build/flags.py +4 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config_version.py +1 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_configuration.py +2 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/target_data.py +8 -5
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/targets.py +0 -4
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/toolchain/blocks.py +16 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/makedeps.py +10 -6
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/meson/helpers.py +11 -3
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/meson/toolchain.py +34 -16
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/scm/git.py +5 -4
- conan-server-2.0.12/conan/tools/scons/__init__.py +1 -0
- conan-server-2.0.12/conan/tools/scons/sconsdeps.py +61 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/system/package_manager.py +16 -11
- {conan-server-2.0.10 → conan-server-2.0.12}/conan_server.egg-info/PKG-INFO +1 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conan_server.egg-info/SOURCES.txt +3 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/__init__.py +1 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cache/cache.py +9 -4
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conf/__init__.py +9 -6
- conan-server-2.0.12/conans/client/conf/detect.py +38 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conf/detect_vs.py +0 -22
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/downloaders/caching_file_downloader.py +12 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/generators/__init__.py +1 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/compatibility.py +6 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/compute_pid.py +4 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/graph_binaries.py +60 -29
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/graph_builder.py +10 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/install_graph.py +18 -2
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/installer.py +1 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/profile_loader.py +4 -2
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/conan_requester.py +3 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/build_info.py +2 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/conf.py +11 -6
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/info.py +2 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/layout.py +2 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/options.py +4 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/pkg_type.py +1 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/requires.py +4 -3
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/version_range.py +3 -1
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/tools.py +12 -6
- conan-server-2.0.10/conan/cli/commands/install.py +0 -98
- {conan-server-2.0.10 → conan-server-2.0.12}/LICENSE.md +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/MANIFEST.in +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/README.md +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/conan_api.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/model.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/cache.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/config.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/download.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/export.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/graph.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/install.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/list.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/local.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/lockfile.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/new.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/profiles.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/remotes.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/remove.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/search.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/api/subapi/upload.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/cli.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/command.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/cache.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/config.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/create.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/download.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/editable.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/export.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/graph.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/inspect.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/list.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/new.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/remote.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/search.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/source.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/test.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/upload.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/commands/version.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/exit_codes.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/graph/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/graph/graph.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/graph/graph_info_text.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/graph/info_graph_dot.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/graph/info_graph_html.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/list/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/list/binary_html_table.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/list/list.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/formatters/list/search_table_html.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/printers/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/cli/printers/graph.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/errors.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/alias_new.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/autoools_exe.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/autotools_lib.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/basic.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/bazel_exe.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/bazel_lib.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/cmake_exe.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/cmake_lib.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/meson_exe.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/meson_lib.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/msbuild_exe.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/api/new/msbuild_lib.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/cache.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/conan_reference_layout.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/db/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/db/cache_database.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/db/packages_table.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/db/recipes_table.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/cache/db/table.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/conan_app.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/deploy.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/integrity_check.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/internal/upload_metadata.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/android/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/android/utils.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/apple/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/apple/apple.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/apple/xcodebuild.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/apple/xcodedeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/apple/xcodetoolchain.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/build/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/build/cpu.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/build/cross_building.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/build/stdcpp_library.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmake.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/cmakedeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/config.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/cmakedeps/templates/macros.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/layout.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/presets.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/toolchain/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/toolchain/toolchain.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/cmake/utils.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/env/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/env/environment.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/env/virtualbuildenv.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/env/virtualrunenv.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/conandata.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/copy_pattern.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/files.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/packager.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/patches.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/symlinks/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/files/symlinks/symlinks.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/autotools.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/autotoolsdeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/autotoolstoolchain.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/get_gnu_triplet.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/gnudeps_flags.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/pkgconfig.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/gnu/pkgconfigdeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/google/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/google/bazel.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/google/bazeldeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/google/layout.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/google/toolchain.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/intel/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/intel/intel_cc.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/layout/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/meson/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/meson/meson.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/layout.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/msbuild.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/msbuilddeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/nmakedeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/nmaketoolchain.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/subsystems.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/toolchain.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/microsoft/visual.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/premake/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/premake/premake.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/premake/premakedeps.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/qbs/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/qbs/qbs.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/qbs/qbsprofile.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/scm/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan/tools/system/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan_server.egg-info/dependency_links.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan_server.egg-info/entry_points.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan_server.egg-info/requires.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conan_server.egg-info/top_level.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cache/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cache/editable.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cache/remote_registry.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cmd/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cmd/export.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cmd/uploader.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/cmd/user.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conanfile/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conanfile/build.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conanfile/configure.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conanfile/implementations.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conanfile/package.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conf/config_installer.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/conf/required_version.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/downloaders/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/downloaders/download_cache.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/downloaders/file_downloader.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/build_mode.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/graph.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/graph_error.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/profile_node_definer.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/provides.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/proxy.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/python_requires.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/graph/range_resolver.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/hook_manager.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/loader.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/loader_txt.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/migrations.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/pkg_sign.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/remote_manager.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/auth_manager.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/client_routes.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/file_uploader.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/remote_credentials.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/rest_client.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/rest_client_common.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/rest/rest_client_v2.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/source.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/store/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/store/localdb.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/subsystems.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/client/userio.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/conan.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/conan_server.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/errors.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/migrations.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/conan_file.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/conanfile_interface.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/dependencies.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/graph_lock.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/manifest.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/package_ref.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/profile.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/recipe_ref.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/rest_routes.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/settings.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/model/version.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/paths/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/pylint_plugin.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/requirements.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/requirements_dev.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/requirements_server.txt +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/search/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/search/query_parse.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/search/search.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/conf/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/conf/default_server_conf.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/crypto/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/crypto/jwt/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/crypto/jwt/jwt_credentials_manager.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/crypto/jwt/jwt_manager.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/launcher.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/migrate.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/migrations.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/plugin_loader.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/api_v2.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/authorization_header.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/http_basic_authentication.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/jwt_authentication.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/bottle_plugins/return_handler.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/bottle_routes.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/conan.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/delete.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/ping.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/revisions.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/search.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/controller/v2/users.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/rest/server.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/revision_list.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/server_launcher.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/authorize.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/mime.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/user_service.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/v2/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/v2/search.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/service/v2/service_v2.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/store/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/store/disk_adapter.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/store/server_store.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/utils/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/server/utils/files.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/conftest.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/artifactory.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/file_server.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/mocks.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/profiles.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/scm.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/server_launcher.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/test/utils/test_files.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/__init__.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/config_parser.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/dates.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/encrypt.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/env.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/files.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/locks.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/runners.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/sha.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/thread.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/conans/util/windows.py +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/setup.cfg +0 -0
- {conan-server-2.0.10 → conan-server-2.0.12}/setup.py +0 -0
|
@@ -227,7 +227,7 @@ def cli_out_write(data, fg=None, bg=None, endline="\n", indentation=0):
|
|
|
227
227
|
|
|
228
228
|
fg_ = fg or ''
|
|
229
229
|
bg_ = bg or ''
|
|
230
|
-
if color_enabled(sys.stdout):
|
|
230
|
+
if (fg or bg) and color_enabled(sys.stdout):
|
|
231
231
|
data = f"{' ' * indentation}{fg_}{bg_}{data}{Style.RESET_ALL}{endline}"
|
|
232
232
|
else:
|
|
233
233
|
data = f"{' ' * indentation}{data}{endline}"
|
|
@@ -133,3 +133,5 @@ def validate_common_graph_args(args):
|
|
|
133
133
|
if args.path and (args.requires or args.tool_requires):
|
|
134
134
|
raise ConanException("--requires and --tool-requires arguments are incompatible with "
|
|
135
135
|
f"[path] '{args.path}' argument")
|
|
136
|
+
if not args.path and args.build_require:
|
|
137
|
+
raise ConanException("--build-require should only be used with <path> argument")
|
|
@@ -13,35 +13,43 @@ def build(conan_api, parser, *args):
|
|
|
13
13
|
"""
|
|
14
14
|
Install dependencies and call the build() method.
|
|
15
15
|
"""
|
|
16
|
-
parser.add_argument("path",
|
|
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.')
|
|
20
20
|
add_reference_args(parser)
|
|
21
|
-
|
|
21
|
+
parser.add_argument("-g", "--generator", action="append", help='Generators to use')
|
|
22
22
|
parser.add_argument("-of", "--output-folder",
|
|
23
23
|
help='The root output folder for generated and build files')
|
|
24
|
+
parser.add_argument("-d", "--deployer", action="append",
|
|
25
|
+
help='Deploy using the provided deployer to the output folder')
|
|
26
|
+
parser.add_argument("--deployer-folder",
|
|
27
|
+
help="Deployer output folder, base build folder by default if not set")
|
|
28
|
+
parser.add_argument("--build-require", action='store_true', default=False,
|
|
29
|
+
help='Whether the provided path is a build-require')
|
|
24
30
|
add_common_install_arguments(parser)
|
|
25
31
|
add_lockfile_args(parser)
|
|
26
32
|
args = parser.parse_args(*args)
|
|
27
33
|
|
|
28
34
|
cwd = os.getcwd()
|
|
29
35
|
path = conan_api.local.get_conanfile_path(args.path, cwd, py=True)
|
|
30
|
-
|
|
36
|
+
source_folder = os.path.dirname(path)
|
|
37
|
+
output_folder = make_abs_path(args.output_folder, cwd) if args.output_folder else None
|
|
38
|
+
deployer_folder = make_abs_path(args.deployer_folder, cwd) if args.deployer_folder else None
|
|
39
|
+
|
|
40
|
+
# Basic collaborators: remotes, lockfile, profiles
|
|
31
41
|
remotes = conan_api.remotes.list(args.remote) if not args.no_remote else []
|
|
32
42
|
overrides = eval(args.lockfile_overrides) if args.lockfile_overrides else None
|
|
33
|
-
lockfile = conan_api.lockfile.get_lockfile(lockfile=args.lockfile,
|
|
34
|
-
|
|
35
|
-
cwd=cwd,
|
|
36
|
-
partial=args.lockfile_partial,
|
|
37
|
-
overrides=overrides)
|
|
43
|
+
lockfile = conan_api.lockfile.get_lockfile(lockfile=args.lockfile, conanfile_path=path, cwd=cwd,
|
|
44
|
+
partial=args.lockfile_partial, overrides=overrides)
|
|
38
45
|
profile_host, profile_build = conan_api.profiles.get_profiles_from_args(args)
|
|
39
46
|
print_profiles(profile_host, profile_build)
|
|
40
47
|
|
|
41
48
|
deps_graph = conan_api.graph.load_graph_consumer(path, args.name, args.version,
|
|
42
49
|
args.user, args.channel,
|
|
43
50
|
profile_host, profile_build, lockfile, remotes,
|
|
44
|
-
args.update
|
|
51
|
+
args.update,
|
|
52
|
+
is_build_require=args.build_require)
|
|
45
53
|
print_graph_basic(deps_graph)
|
|
46
54
|
deps_graph.report_graph_error()
|
|
47
55
|
conan_api.graph.analyze_binaries(deps_graph, args.build, remotes=remotes, update=args.update,
|
|
@@ -52,11 +60,9 @@ def build(conan_api, parser, *args):
|
|
|
52
60
|
out.title("Installing packages")
|
|
53
61
|
conan_api.install.install_binaries(deps_graph=deps_graph, remotes=remotes)
|
|
54
62
|
|
|
55
|
-
source_folder = folder
|
|
56
|
-
output_folder = make_abs_path(args.output_folder, cwd) if args.output_folder else None
|
|
57
63
|
out.title("Finalizing install (deploy, generators)")
|
|
58
|
-
conan_api.install.install_consumer(deps_graph
|
|
59
|
-
|
|
64
|
+
conan_api.install.install_consumer(deps_graph, args.generator, source_folder, output_folder,
|
|
65
|
+
deploy=args.deployer, deploy_folder=deployer_folder)
|
|
60
66
|
|
|
61
67
|
out.title("Calling build()")
|
|
62
68
|
conanfile = deps_graph.root.conanfile
|
|
@@ -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
|
|
|
@@ -91,7 +94,7 @@ def export_pkg(conan_api, parser, *args):
|
|
|
91
94
|
if test_conanfile_path:
|
|
92
95
|
from conan.cli.commands.test import run_test
|
|
93
96
|
deps_graph = run_test(conan_api, test_conanfile_path, ref, profile_host, profile_build,
|
|
94
|
-
remotes=
|
|
97
|
+
remotes=remotes, lockfile=lockfile, update=False, build_modes=None)
|
|
95
98
|
# TODO: Do something with lockfile, same as create()
|
|
96
99
|
|
|
97
100
|
conan_api.lockfile.save_lockfile(lockfile, args.lockfile_out, cwd)
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
from conan.api.output import ConanOutput
|
|
4
|
+
from conan.cli import make_abs_path
|
|
5
|
+
from conan.cli.args import common_graph_args, validate_common_graph_args
|
|
6
|
+
from conan.cli.command import conan_command
|
|
7
|
+
from conan.cli.formatters.graph import format_graph_json
|
|
8
|
+
from conan.cli.printers import print_profiles
|
|
9
|
+
from conan.cli.printers.graph import print_graph_packages, print_graph_basic
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@conan_command(group="Consumer", formatters={"json": format_graph_json})
|
|
13
|
+
def install(conan_api, parser, *args):
|
|
14
|
+
"""
|
|
15
|
+
Install the requirements specified in a recipe (conanfile.py or conanfile.txt).
|
|
16
|
+
|
|
17
|
+
It can also be used to install packages without a conanfile, using the
|
|
18
|
+
--requires and --tool-requires arguments.
|
|
19
|
+
|
|
20
|
+
If any requirement is not found in the local cache, it will iterate the remotes
|
|
21
|
+
looking for it. When the full dependency graph is computed, and all dependencies
|
|
22
|
+
recipes have been found, it will look for binary packages matching the current settings.
|
|
23
|
+
If no binary package is found for some or several dependencies, it will error,
|
|
24
|
+
unless the '--build' argument is used to build it from source.
|
|
25
|
+
|
|
26
|
+
After installation of packages, the generators and deployers will be called.
|
|
27
|
+
"""
|
|
28
|
+
common_graph_args(parser)
|
|
29
|
+
parser.add_argument("-g", "--generator", action="append", help='Generators to use')
|
|
30
|
+
parser.add_argument("-of", "--output-folder",
|
|
31
|
+
help='The root output folder for generated and build files')
|
|
32
|
+
parser.add_argument("-d", "--deployer", action="append",
|
|
33
|
+
help='Deploy using the provided deployer to the output folder')
|
|
34
|
+
parser.add_argument("--deployer-folder",
|
|
35
|
+
help="Deployer output folder, base build folder by default if not set")
|
|
36
|
+
parser.add_argument("--build-require", action='store_true', default=False,
|
|
37
|
+
help='Whether the provided path is a build-require')
|
|
38
|
+
args = parser.parse_args(*args)
|
|
39
|
+
validate_common_graph_args(args)
|
|
40
|
+
|
|
41
|
+
# basic paths
|
|
42
|
+
cwd = os.getcwd()
|
|
43
|
+
path = conan_api.local.get_conanfile_path(args.path, cwd, py=None) if args.path else None
|
|
44
|
+
source_folder = os.path.dirname(path) if args.path else cwd
|
|
45
|
+
output_folder = make_abs_path(args.output_folder, cwd) if args.output_folder else None
|
|
46
|
+
|
|
47
|
+
# Basic collaborators: remotes, lockfile, profiles
|
|
48
|
+
remotes = conan_api.remotes.list(args.remote) if not args.no_remote else []
|
|
49
|
+
overrides = eval(args.lockfile_overrides) if args.lockfile_overrides else None
|
|
50
|
+
lockfile = conan_api.lockfile.get_lockfile(lockfile=args.lockfile, conanfile_path=path, cwd=cwd,
|
|
51
|
+
partial=args.lockfile_partial, overrides=overrides)
|
|
52
|
+
profile_host, profile_build = conan_api.profiles.get_profiles_from_args(args)
|
|
53
|
+
print_profiles(profile_host, profile_build)
|
|
54
|
+
|
|
55
|
+
# Graph computation (without installation of binaries)
|
|
56
|
+
gapi = conan_api.graph
|
|
57
|
+
if path:
|
|
58
|
+
deps_graph = gapi.load_graph_consumer(path, args.name, args.version, args.user, args.channel,
|
|
59
|
+
profile_host, profile_build, lockfile, remotes,
|
|
60
|
+
args.update, is_build_require=args.build_require)
|
|
61
|
+
else:
|
|
62
|
+
deps_graph = gapi.load_graph_requires(args.requires, args.tool_requires, profile_host,
|
|
63
|
+
profile_build, lockfile, remotes, args.update)
|
|
64
|
+
print_graph_basic(deps_graph)
|
|
65
|
+
deps_graph.report_graph_error()
|
|
66
|
+
gapi.analyze_binaries(deps_graph, args.build, remotes, update=args.update, lockfile=lockfile)
|
|
67
|
+
print_graph_packages(deps_graph)
|
|
68
|
+
|
|
69
|
+
# Installation of binaries and consumer generators
|
|
70
|
+
conan_api.install.install_binaries(deps_graph=deps_graph, remotes=remotes)
|
|
71
|
+
ConanOutput().title("Finalizing install (deploy, generators)")
|
|
72
|
+
conan_api.install.install_consumer(deps_graph, args.generator, source_folder, output_folder,
|
|
73
|
+
deploy=args.deployer, deploy_folder=args.deployer_folder)
|
|
74
|
+
ConanOutput().success("Install finished successfully")
|
|
75
|
+
|
|
76
|
+
# Update lockfile if necessary
|
|
77
|
+
lockfile = conan_api.lockfile.update_lockfile(lockfile, deps_graph, args.lockfile_packages,
|
|
78
|
+
clean=args.lockfile_clean)
|
|
79
|
+
conan_api.lockfile.save_lockfile(lockfile, args.lockfile_out, cwd)
|
|
80
|
+
return {"graph": deps_graph,
|
|
81
|
+
"conan_api": conan_api}
|
|
@@ -43,12 +43,12 @@ def lock_create(conan_api, parser, subparser, *args):
|
|
|
43
43
|
graph = conan_api.graph.load_graph_consumer(path, args.name, args.version,
|
|
44
44
|
args.user, args.channel,
|
|
45
45
|
profile_host, profile_build, lockfile,
|
|
46
|
-
remotes, args.
|
|
46
|
+
remotes, args.update,
|
|
47
47
|
is_build_require=args.build_require)
|
|
48
48
|
else:
|
|
49
49
|
graph = conan_api.graph.load_graph_requires(args.requires, args.tool_requires,
|
|
50
50
|
profile_host, profile_build, lockfile,
|
|
51
|
-
remotes, args.
|
|
51
|
+
remotes, args.update)
|
|
52
52
|
|
|
53
53
|
print_graph_basic(graph)
|
|
54
54
|
graph.report_graph_error()
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import json
|
|
1
2
|
import os
|
|
2
3
|
|
|
3
4
|
from conan.api.output import ConanOutput, cli_out_write
|
|
@@ -22,12 +23,14 @@ def profiles_list_cli_output(profiles):
|
|
|
22
23
|
cli_out_write(p)
|
|
23
24
|
|
|
24
25
|
|
|
25
|
-
def
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
def json_profiles(profiles):
|
|
27
|
+
host, build = profiles
|
|
28
|
+
result = {"host": host.serialize(),
|
|
29
|
+
"build": build.serialize()}
|
|
30
|
+
cli_out_write(json.dumps(result))
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
@conan_subcommand(formatters={"text": print_profiles})
|
|
33
|
+
@conan_subcommand(formatters={"text": print_profiles, "json": json_profiles})
|
|
31
34
|
def profile_show(conan_api, parser, subparser, *args):
|
|
32
35
|
"""
|
|
33
36
|
Show aggregated profiles from the passed arguments.
|
|
@@ -63,7 +66,9 @@ def profile_detect(conan_api, parser, subparser, *args):
|
|
|
63
66
|
raise ConanException(f"Profile '{profile_pathname}' already exists")
|
|
64
67
|
|
|
65
68
|
detected_profile = conan_api.profiles.detect()
|
|
66
|
-
|
|
69
|
+
ConanOutput().success("\nDetected profile:")
|
|
70
|
+
cli_out_write(detected_profile.dumps())
|
|
71
|
+
|
|
67
72
|
contents = detected_profile.dumps()
|
|
68
73
|
ConanOutput().warning("This profile is a guess of your environment, please check it.")
|
|
69
74
|
if detected_profile.settings.get("os") == "Macos":
|
|
@@ -9,8 +9,8 @@ from conans.errors import ConanException
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
def summary_remove_list(results):
|
|
12
|
-
""" Do
|
|
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
|
-
|
|
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
|
-
|
|
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)
|