conan 2.12.1__tar.gz → 2.12.2__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-2.12.1/conan.egg-info → conan-2.12.2}/PKG-INFO +1 -1
- {conan-2.12.1 → conan-2.12.2}/conan/__init__.py +1 -1
- conan-2.12.2/conan/tools/sbom/__init__.py +1 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/sbom/cyclonedx.py +30 -5
- {conan-2.12.1 → conan-2.12.2/conan.egg-info}/PKG-INFO +1 -1
- conan-2.12.1/conans/util/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/LICENSE.md +0 -0
- {conan-2.12.1 → conan-2.12.2}/MANIFEST.in +0 -0
- {conan-2.12.1 → conan-2.12.2}/README.md +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/conan_api.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/input.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/model/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/model/list.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/model/refs.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/model/remote.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/output.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/cache.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/command.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/config.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/download.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/export.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/graph.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/install.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/list.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/local.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/lockfile.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/new.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/profiles.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/remotes.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/remove.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/search.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/upload.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/api/subapi/workspace.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/args.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/cli.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/command.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/build.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/cache.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/config.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/create.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/download.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/editable.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/export.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/export_pkg.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/graph.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/inspect.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/install.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/list.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/lock.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/new.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/pkglist.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/profile.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/remote.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/remove.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/search.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/source.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/test.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/upload.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/version.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/commands/workspace.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/exit_codes.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/graph/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/graph/build_order_html.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/graph/graph.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/graph/graph_info_text.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/graph/info_graph_dot.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/graph/info_graph_html.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/list/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/list/list.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/formatters/list/search_table_html.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/printers/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cli/printers/graph.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cps/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/cps/cps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/errors.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/config/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/config/config_installer.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/detect/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/detect/detect_api.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/detect/detect_vs.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/export.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/install/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/install/generators.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/list/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/list/query_parse.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/local/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/local/editable.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/alias_new.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/autoools_exe.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/autotools_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/basic.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/bazel_7_exe.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/bazel_7_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/bazel_exe.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/bazel_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/cmake_exe.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/cmake_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/local_recipes_index.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/meson_exe.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/meson_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/msbuild_exe.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/msbuild_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/qbs_lib.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/new/workspace.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/profile/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/profile/detect.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/profile/profile_loader.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/remotes/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/remotes/encrypt.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/remotes/localdb.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/api/uploader.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/cache.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/conan_reference_layout.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/db/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/db/cache_database.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/db/packages_table.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/db/recipes_table.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/db/table.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/home_paths.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/cache/integrity_check.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/conan_app.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/default_settings.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/deploy.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/errors.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/internal_tools.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/methods.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/conan_file.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/conanfile_interface.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/conf.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/cpp_info.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/dependencies.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/info.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/layout.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/lockfile.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/manifest.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/options.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/pkg_type.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/profile.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/recipe_ref.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/requires.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/settings.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/version.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/model/version_range.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/paths.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/runner/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/runner/docker.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/runner/ssh.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/runner/wsl.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/internal/workspace.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/autotools.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/cmake.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/genconanfile.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/pkg_cmake.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/sources.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/assets/visual_project_files.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/artifactory.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/env.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/file_server.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/mocks.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/profiles.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/scm.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/server_launcher.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/test_files.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/test/utils/tools.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/android/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/android/utils.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/apple/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/apple/apple.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/apple/xcodebuild.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/apple/xcodedeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/apple/xcodetoolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/cppstd.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/cpu.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/cross_building.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/cstd.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/flags.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/build/stdcpp_library.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmake.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/cmakedeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/config.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/config_version.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/macros.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/target_configuration.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/target_data.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps/templates/targets.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps2/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps2/cmakedeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps2/config.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps2/config_version.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps2/target_configuration.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/cmakedeps2/targets.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/layout.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/presets.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/toolchain/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/toolchain/blocks.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/toolchain/toolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cmake/utils.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cps/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/cps/cps_deps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/env/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/env/environment.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/env/virtualbuildenv.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/env/virtualrunenv.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/conandata.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/copy_pattern.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/files.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/packager.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/patches.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/symlinks/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/files/symlinks/symlinks.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/autotools.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/autotoolsdeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/autotoolstoolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/get_gnu_triplet.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/gnudeps_flags.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/gnutoolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/makedeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/pkgconfig.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/gnu/pkgconfigdeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/google/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/google/bazel.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/google/bazeldeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/google/layout.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/google/toolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/intel/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/intel/intel_cc.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/layout/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/meson/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/meson/helpers.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/meson/meson.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/meson/toolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/layout.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/msbuild.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/msbuilddeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/nmakedeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/nmaketoolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/subsystems.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/toolchain.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/microsoft/visual.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/premake/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/premake/premake.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/premake/premakedeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/qbs/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/qbs/common.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/qbs/qbs.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/qbs/qbsdeps.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/qbs/qbsprofile.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/ros/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/ros/rosenv.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/scm/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/scm/git.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/scons/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/scons/sconsdeps.py +0 -0
- {conan-2.12.1/conan/tools/sbom → conan-2.12.2/conan/tools/system}/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan/tools/system/package_manager.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan.egg-info/SOURCES.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan.egg-info/dependency_links.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan.egg-info/entry_points.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan.egg-info/requires.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conan.egg-info/top_level.txt +0 -0
- {conan-2.12.1/conan/tools/system → conan-2.12.2/conans}/__init__.py +0 -0
- {conan-2.12.1/conans → conan-2.12.2/conans/client}/__init__.py +0 -0
- {conan-2.12.1/conans/client → conan-2.12.2/conans/client/downloaders}/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/downloaders/caching_file_downloader.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/downloaders/download_cache.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/downloaders/file_downloader.py +0 -0
- {conan-2.12.1/conans/client/downloaders → conan-2.12.2/conans/client/graph}/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/build_mode.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/compatibility.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/compute_pid.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/graph.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/graph_binaries.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/graph_builder.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/graph_error.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/install_graph.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/profile_node_definer.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/provides.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/proxy.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/python_requires.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/graph/range_resolver.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/hook_manager.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/installer.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/loader.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/loader_txt.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/migrations.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/pkg_sign.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/remote_manager.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/auth_manager.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/client_routes.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/conan_requester.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/file_uploader.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/remote_credentials.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/rest_client.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/rest_client_v2.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest/rest_routes.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/rest_client_local_recipe_index.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/source.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/client/subsystems.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/conan.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/conan_server.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/migrations.py +0 -0
- {conan-2.12.1/conans/client/graph → conan-2.12.2/conans/model}/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/model/package_ref.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/model/recipe_ref.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/requirements.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/requirements_dev.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/requirements_runner.txt +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/requirements_server.txt +0 -0
- {conan-2.12.1/conans/model → conan-2.12.2/conans/util}/__init__.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/util/config_parser.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/util/dates.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/util/files.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/util/locks.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/util/runners.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/conans/util/thread.py +0 -0
- {conan-2.12.1 → conan-2.12.2}/pyproject.toml +0 -0
- {conan-2.12.1 → conan-2.12.2}/setup.cfg +0 -0
- {conan-2.12.1 → conan-2.12.2}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from conan.tools.sbom.cyclonedx import cyclonedx_1_4
|
|
@@ -1,16 +1,39 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
def cyclonedx_1_4(conanfile, name=None, add_build=False, add_tests=False, **kwargs):
|
|
3
4
|
"""
|
|
4
|
-
(Experimental) Generate cyclone 1.4
|
|
5
|
+
(Experimental) Generate cyclone 1.4 SBOM with JSON format
|
|
6
|
+
|
|
7
|
+
Creates a CycloneDX 1.4 Software Bill of Materials (SBOM) from a given dependency graph.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Parameters:
|
|
12
|
+
conanfile: The conanfile instance.
|
|
13
|
+
name (str, optional): Custom name for the metadata field.
|
|
14
|
+
add_build (bool, optional, default=False): Include build dependencies.
|
|
15
|
+
add_tests (bool, optional, default=False): Include test dependencies.
|
|
16
|
+
|
|
17
|
+
Returns:
|
|
18
|
+
The generated CycloneDX 1.4 document as a string.
|
|
19
|
+
|
|
20
|
+
Example usage:
|
|
21
|
+
```
|
|
22
|
+
cyclonedx(conanfile, name="custom_name", add_build=True, add_test=True, **kwargs)
|
|
23
|
+
```
|
|
24
|
+
|
|
5
25
|
"""
|
|
6
26
|
import uuid
|
|
7
27
|
import time
|
|
8
28
|
from datetime import datetime, timezone
|
|
29
|
+
graph = conanfile.subgraph
|
|
9
30
|
|
|
10
31
|
has_special_root_node = not (getattr(graph.root.ref, "name", False) and getattr(graph.root.ref, "version", False) and getattr(graph.root.ref, "revision", False))
|
|
11
32
|
special_id = str(uuid.uuid4())
|
|
12
33
|
|
|
13
|
-
|
|
34
|
+
name_default = getattr(graph.root.ref, "name", False) or "conan-sbom"
|
|
35
|
+
name_default += f"/{graph.root.ref.version}" if bool(getattr(graph.root.ref, "version", False)) else ""
|
|
36
|
+
components = [node for node in graph.nodes if (node.context == "host" or add_build) and (not node.test or add_tests)]
|
|
14
37
|
if has_special_root_node:
|
|
15
38
|
components = components[1:]
|
|
16
39
|
|
|
@@ -22,7 +45,9 @@ def cyclonedx_1_4(graph, **kwargs):
|
|
|
22
45
|
dependencies.append(deps)
|
|
23
46
|
for c in components:
|
|
24
47
|
deps = {"ref": f"pkg:conan/{c.name}@{c.ref.version}?rref={c.ref.revision}"}
|
|
25
|
-
|
|
48
|
+
dep = [d for d in c.dependencies if (d.dst.context == "host" or add_build) and (not d.dst.test or add_tests)]
|
|
49
|
+
|
|
50
|
+
depends_on = [f"pkg:conan/{d.dst.name}@{d.dst.ref.version}?rref={d.dst.ref.revision}" for d in dep]
|
|
26
51
|
if depends_on:
|
|
27
52
|
deps["dependsOn"] = depends_on
|
|
28
53
|
dependencies.append(deps)
|
|
@@ -56,7 +81,7 @@ def cyclonedx_1_4(graph, **kwargs):
|
|
|
56
81
|
"component": {
|
|
57
82
|
"author": "Conan",
|
|
58
83
|
"bom-ref": special_id if has_special_root_node else f"pkg:conan/{c.name}@{c.ref.version}?rref={c.ref.revision}",
|
|
59
|
-
"name":
|
|
84
|
+
"name": name if name else name_default,
|
|
60
85
|
"type": "library"
|
|
61
86
|
},
|
|
62
87
|
"timestamp": f"{datetime.fromtimestamp(time.time(), tz=timezone.utc).strftime('%Y-%m-%dT%H:%M:%SZ')}",
|
|
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
|
|
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
|
|
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
|
|
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
|