diff --git a/reference/conanfile/attributes.rst b/reference/conanfile/attributes.rst index 0172163864f9..c4a00a6dd3b7 100644 --- a/reference/conanfile/attributes.rst +++ b/reference/conanfile/attributes.rst @@ -1122,12 +1122,13 @@ has **the same default directories**. Dependencies among components and to components of other requirements can be defined using the ``requires`` attribute and the name of the component. The dependency graph for components will be calculated and values will be aggregated in the correct order for each field. -**New properties model for the cpp_info new tools** +New properties model for the cpp_info new tools ++++++++++++++++++++++++++++++++++++++++++++++++ -.. warning:: +.. important:: - Using ``set_property`` and ``get_property`` methods for ``cpp_info`` is an **experimental** - feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Using ``.names``, ``.filenames`` and ``.build_modules`` will not work any more for new generators, like :ref:`CMakeDeps` and :ref:`PkgConfigDeps`. @@ -1438,9 +1439,8 @@ scm .. warning:: - This is an **experimental** feature subject to breaking changes in future releases. Although this - is an experimental feature, the use of the feature using ``scm_to_conandata`` is considered - stable. + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. Used to clone/checkout a repository. It is a dictionary with the following possible values: @@ -1528,9 +1528,7 @@ python_requires (legacy) .. warning:: - This attribute has been superseded by the new :ref:`python_requires`. Even if this is an **experimental** - feature subject to breaking changes in future releases, this legacy ``python_requires`` syntax has not - been removed yet, but it will be removed in Conan 2.0. + This is a **deprecated** feature by the new :ref:`python_requires`. Python requires are associated with the ``ConanFile`` declared in the recipe file, data from those imported recipes is accessible using the ``python_requires`` attribute in @@ -1561,9 +1559,10 @@ workspace.: python_requires --------------- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. This class attribute allows to define a dependency to another Conan recipe and reuse its code. Its basic syntax is: @@ -1588,9 +1587,10 @@ Read more about this attribute in :ref:`python_requires` python_requires_extend ---------------------- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. This class attribute defines one or more classes that will be injected in runtime as base classes of @@ -1741,9 +1741,10 @@ If the attribute is omitted, the value of the attribute is assumed to be equal t conf ---- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.47.0 `_ @@ -1816,9 +1817,10 @@ Without the profile: win_bash -------- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.39.0 `_ @@ -1863,9 +1865,10 @@ When ``True`` it enables running commands in the ``"run"`` scope, to run them in test_type --------- -.. warning:: +.. important:: - Test type is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.44.0 `_ diff --git a/reference/conanfile/dependencies.rst b/reference/conanfile/dependencies.rst index de7a7ad4cfbe..3a4a1c2a8024 100644 --- a/reference/conanfile/dependencies.rst +++ b/reference/conanfile/dependencies.rst @@ -3,9 +3,10 @@ Dependencies ============ -.. warning:: +.. important:: - These tools are **experimental** and subject to breaking changes. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.38.0 `_ diff --git a/reference/conanfile/methods.rst b/reference/conanfile/methods.rst index ae38e8c76191..bd9d48a8e5b7 100644 --- a/reference/conanfile/methods.rst +++ b/reference/conanfile/methods.rst @@ -316,6 +316,11 @@ using the ``deps_cpp_info`` object: env_info ++++++++ +.. warning:: + + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. + Each package can also define some environment variables that the package needs to be reused. It's specially useful for :ref:`installer packages`, to set the path with the "bin" folder of the packaged application. This can be done in the ``env_info`` attribute within the ``package_info()`` method. @@ -357,6 +362,11 @@ If your recipe has requirements, you can access to your requirements ``env_info` user_info +++++++++ +.. warning:: + + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. + If you need to declare custom variables not related with C/C++ (``cpp_info``) and the variables are not environment variables (``env_info``), you can use the ``self.user_info`` object. @@ -536,7 +546,7 @@ This exception will be propagated and Conan application will finish with a :ref: .. note:: - For managing invalid configurations, please check the new experimental ``validate()`` method (:ref:`method_validate`). + For managing invalid configurations, please check the new ``validate()`` method (:ref:`method_validate`). .. _method_validate: @@ -544,10 +554,6 @@ This exception will be propagated and Conan application will finish with a :ref: validate() ---------- -.. warning:: - - This is an **experimental** feature subject to breaking changes in future releases. - Available since: `1.32.0 `_ The ``validate()`` method can be used to mark a binary as "impossible" or invalid for a given configuration. For example, @@ -678,9 +684,6 @@ The ``validate_build()`` method has to use always the ``self.settings`` and ``se pass - - - .. _method_requirements: requirements() @@ -1254,9 +1257,10 @@ be done. compatibility() --------------- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since Conan `1.47.0 `_ @@ -1497,10 +1501,6 @@ current folder (the one containing the *conanfile.py*). The ``dst`` is relative generate() ---------- -.. warning:: - - This is an **experimental** feature subject to breaking changes in future releases. - Available since: `1.32.0 `_ This method will run after the computation and installation of the dependency graph. This means that it will @@ -1559,9 +1559,11 @@ multiple recipes. layout() -------- -.. warning:: +.. important:: + + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. - This is an **experimental** feature subject to breaking changes in future releases. The ``layout()`` feature will be fully functional only in the new build system integrations (:ref:`in the conan.tools space `). If you are using other integrations, they might not fully support this feature. diff --git a/reference/conanfile/tools/cmake.rst b/reference/conanfile/tools/cmake.rst index fb60b583d11d..3884993b33f7 100644 --- a/reference/conanfile/tools/cmake.rst +++ b/reference/conanfile/tools/cmake.rst @@ -3,10 +3,10 @@ conan.tools.cmake ================= -.. warning:: +.. important:: - These tools are still **experimental** (so subject to breaking changes) but with very stable syntax. - We encourage their usage to be prepared for Conan 2.0. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. You can use ``conan new hello/0.1 --template=cmake_lib`` and ``conan new hello/0.1 --template=cmake_exe`` templates to try this CMake integration. diff --git a/reference/conanfile/tools/gnu.rst b/reference/conanfile/tools/gnu.rst index 5984334071c6..5d890ac2597c 100644 --- a/reference/conanfile/tools/gnu.rst +++ b/reference/conanfile/tools/gnu.rst @@ -3,10 +3,10 @@ conan.tools.gnu =============== -.. warning:: +.. important:: - These tools are still **experimental** (so subject to breaking changes) but with very stable syntax. - We encourage their usage to be prepared for Conan 2.0. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. .. toctree:: :maxdepth: 2 diff --git a/reference/conanfile/tools/gnu/pkgconfig.rst b/reference/conanfile/tools/gnu/pkgconfig.rst index 7e4dea75339c..54cda80c641b 100644 --- a/reference/conanfile/tools/gnu/pkgconfig.rst +++ b/reference/conanfile/tools/gnu/pkgconfig.rst @@ -1,10 +1,10 @@ PkgConfig ========= -.. warning:: +.. important:: - These tools are still **experimental** (so subject to breaking changes) but with very stable syntax. - We encourage their usage to be prepared for Conan 2.0. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.45.0 `_ diff --git a/reference/conanfile/tools/gnu/pkgconfigdeps.rst b/reference/conanfile/tools/gnu/pkgconfigdeps.rst index 14e0c381d9e0..0a18698152ce 100644 --- a/reference/conanfile/tools/gnu/pkgconfigdeps.rst +++ b/reference/conanfile/tools/gnu/pkgconfigdeps.rst @@ -4,10 +4,10 @@ PkgConfigDeps ============= -.. warning:: +.. important:: - These tools are still **experimental** (so subject to breaking changes) but with very stable syntax. - We encourage their usage to be prepared for Conan 2.0. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. .. _PkgConfigDeps: diff --git a/reference/conanfile/tools/google.rst b/reference/conanfile/tools/google.rst index df110b38fa49..9b247656d912 100644 --- a/reference/conanfile/tools/google.rst +++ b/reference/conanfile/tools/google.rst @@ -3,9 +3,10 @@ conan.tools.google ================== -.. warning:: +.. important:: - These tools are **experimental** and subject to breaking changes. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. BazelDeps diff --git a/reference/conanfile/tools/meson.rst b/reference/conanfile/tools/meson.rst index 5d5298c50943..5b963937879e 100644 --- a/reference/conanfile/tools/meson.rst +++ b/reference/conanfile/tools/meson.rst @@ -3,9 +3,10 @@ conan.tools.meson ================= -.. warning:: +.. important:: - These tools are **experimental** and subject to breaking changes. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. You can use ``conan new hello/0.1 --template=meson_lib`` and ``conan new hello/0.1 --template=meson_exe`` templates diff --git a/reference/conanfile/tools/meson/meson.rst b/reference/conanfile/tools/meson/meson.rst index 867f26f02c6c..157f6419af0e 100644 --- a/reference/conanfile/tools/meson/meson.rst +++ b/reference/conanfile/tools/meson/meson.rst @@ -4,17 +4,14 @@ Meson ----- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.33.0 `_ -The ``Meson()`` build helper that works with the ``MesonToolchain`` is also experimental, -and subject to breaking change in the future. It will evolve to adapt and complement the -toolchain functionality. - -The helper is intended to be used in the ``build()`` method, to call Meson commands automatically +This helper is intended to be used in the ``build()`` method, to call Meson commands automatically when a package is being built directly by Conan (create, install) .. code:: python diff --git a/reference/conanfile/tools/meson/mesondeps.rst b/reference/conanfile/tools/meson/mesondeps.rst index bd23d21aeee6..6b1d7e6a97cd 100644 --- a/reference/conanfile/tools/meson/mesondeps.rst +++ b/reference/conanfile/tools/meson/mesondeps.rst @@ -3,10 +3,10 @@ MesonDeps ========= -.. warning:: +.. important:: - These tools are still **experimental** (so subject to breaking changes) but with very stable syntax. - We encourage their usage to be prepared for Conan 2.0. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.51.0 `_ diff --git a/reference/conanfile/tools/meson/mesontoolchain.rst b/reference/conanfile/tools/meson/mesontoolchain.rst index a4a63e660c83..9c21f24e9550 100644 --- a/reference/conanfile/tools/meson/mesontoolchain.rst +++ b/reference/conanfile/tools/meson/mesontoolchain.rst @@ -3,9 +3,10 @@ MesonToolchain -------------- -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. .. important:: diff --git a/reference/conanfile/tools/microsoft.rst b/reference/conanfile/tools/microsoft.rst index 8b5a1e4721c9..c62bc806383a 100644 --- a/reference/conanfile/tools/microsoft.rst +++ b/reference/conanfile/tools/microsoft.rst @@ -139,7 +139,7 @@ switching dependencies from static to shared libraries. Included dependencies +++++++++++++++++++++ -``MSBuildDeps`` uses the new experimental ``self.dependencies`` access to dependencies. The following +``MSBuildDeps`` uses the new ``self.dependencies`` access to dependencies. The following dependencies will be translated to properties files: - All direct dependencies, that is, the ones declared by the current ``conanfile``, that lives in the diff --git a/reference/conanfile/tools/qbs.rst b/reference/conanfile/tools/qbs.rst index 3ded47f29a5d..3bee8cfc289b 100644 --- a/reference/conanfile/tools/qbs.rst +++ b/reference/conanfile/tools/qbs.rst @@ -6,9 +6,10 @@ conan.tools.qbs QbsProfile ------------ -.. warning:: +.. important:: - This is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. Available since: `1.33.0 `_ diff --git a/reference/conanfile/tools/scm/git.rst b/reference/conanfile/tools/scm/git.rst index 00e84af036d5..44bb199d91ba 100644 --- a/reference/conanfile/tools/scm/git.rst +++ b/reference/conanfile/tools/scm/git.rst @@ -3,9 +3,12 @@ Git === -.. warning:: +.. important:: - This tool is **experimental** and subject to breaking changes. This tool is intended to replace the current ``conans.tools.Git`` and the current ``scm`` attribute, that will be removed in Conan 2.0. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. + + This tool is intended to replace the current ``conans.tools.Git`` and the current ``scm`` attribute, that will be removed in Conan 2.0. Available since: `1.46.0 `_ diff --git a/reference/conanfile/tools/scm/other.rst b/reference/conanfile/tools/scm/other.rst index 19d720a87e16..699183b89c7a 100644 --- a/reference/conanfile/tools/scm/other.rst +++ b/reference/conanfile/tools/scm/other.rst @@ -1,8 +1,9 @@ .. _conan_tools_scm_version: -.. warning:: +.. important:: - This tools are **experimental** and subject to breaking changes. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. conan_version ============= diff --git a/reference/conanfile/tools/system.rst b/reference/conanfile/tools/system.rst index f07db5cacac8..28040e626b9c 100644 --- a/reference/conanfile/tools/system.rst +++ b/reference/conanfile/tools/system.rst @@ -1,9 +1,10 @@ conan.tools.system ================== -.. warning:: +.. important:: - These tools are **experimental** and subject to breaking changes. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. .. toctree:: diff --git a/reference/conanfile/tools/system/package_manager.rst b/reference/conanfile/tools/system/package_manager.rst index c6fe0f28c907..9e3873f62ef8 100644 --- a/reference/conanfile/tools/system/package_manager.rst +++ b/reference/conanfile/tools/system/package_manager.rst @@ -3,9 +3,10 @@ conan.tools.system.package_manager ================================== -.. warning:: +.. important:: - These tools are **experimental** and subject to breaking changes. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. The tools under `conan.tools.system.package_manager` are wrappers around some of the most diff --git a/reference/config_files/global_conf.rst b/reference/config_files/global_conf.rst index c67e4aa2e6bd..c6326abe3782 100644 --- a/reference/config_files/global_conf.rst +++ b/reference/config_files/global_conf.rst @@ -3,9 +3,10 @@ global.conf =========== -.. warning:: +.. important:: - This new configuration mechanism is an **experimental** feature subject to breaking changes in future releases. + This feature is still **under development**, while it is recommended and usable and we will try not to break them in future releases, + some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. The **global.conf** file is located in the Conan user home directory. diff --git a/reference/config_files/settings.yml.rst b/reference/config_files/settings.yml.rst index d3f6d775cd5f..5fef4121055f 100644 --- a/reference/config_files/settings.yml.rst +++ b/reference/config_files/settings.yml.rst @@ -3,6 +3,12 @@ settings.yml ============ +.. caution:: + + We are actively working to finalize the *Conan 2.0 Release*. Some of the information on this page references + **deprecated** features which will not be carried forward with the new release. It's important to check the + :ref:`Migration Guidelines` to ensure you are using the most up to date features. + The input ``settings`` for packages in Conan are predefined in ``~/.conan/settings.yml`` file, so only a few like ``os`` or ``compiler`` are possible. These are the **default** values, but it is possible to customize them, see :ref:`custom_settings`. @@ -195,7 +201,10 @@ Some notes about different compilers: msvc ++++ -The new ``msvc`` compiler is a new, **experimental** one, that is intended to deprecate the ``Visual Studio`` one in Conan 2.0: +.. important:: + + This feature is still **under development**, , that is intended to deprecate the ``Visual Studio``, while it is recommended and usable and + we will try not to break them in future releases, some breaking changes might still happen if necessary to prepare for the *Conan 2.0 release*. - It uses the compiler version, that is 190 (19.0), 191 (19.1), etc, instead of the Visual Studio IDE (15, 16, etc). - It is only used by the new build integrations in :ref:`conan_tools_cmake` and :ref:`conan_tools_microsoft`, but not the previous ones. @@ -241,13 +250,6 @@ This will be equivalent to the full version ``1913 (19.13)``. If even further de to the ``update`` subsetting in ``settings.yml``. -clang -+++++ - -The release 13.0.0 will be released officially on September 21, 2021. However, Conan 1.40 will support it in settings.yml before -the final release. It will be considered as **experimental** in case of incompatibility until the release. - - intel-cc ++++++++ diff --git a/reference/generators/b2.rst b/reference/generators/b2.rst index e12523009ba0..a9ff2cfbab6d 100644 --- a/reference/generators/b2.rst +++ b/reference/generators/b2.rst @@ -10,7 +10,8 @@ b2 .. warning:: - This is an **experimental** feature subject to breaking changes in future releases. + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. Usage ----- diff --git a/reference/generators/cmake_find_package_multi.rst b/reference/generators/cmake_find_package_multi.rst index 9606e7ee4ff4..26ef2fed9dc2 100644 --- a/reference/generators/cmake_find_package_multi.rst +++ b/reference/generators/cmake_find_package_multi.rst @@ -6,7 +6,8 @@ cmake_find_package_multi .. warning:: - This is an **experimental** feature subject to breaking changes in future releases. + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. .. container:: out_reference_box diff --git a/reference/generators/msbuild.rst b/reference/generators/msbuild.rst index 5b15e43431a9..addd1fc3f0a3 100644 --- a/reference/generators/msbuild.rst +++ b/reference/generators/msbuild.rst @@ -8,7 +8,8 @@ and ``visualstudiomulti`` generators. .. warning:: - This generator is experimental and subject to breaking changes. + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. This is a generator to be used for Visual Studio projects (*.sln* solutions and *.vcxproject* files), natively, without using CMake at all. The generator will create Visual Studio properties files diff --git a/reference/generators/premake.rst b/reference/generators/premake.rst index d76c5bf17d73..9539f5d88061 100644 --- a/reference/generators/premake.rst +++ b/reference/generators/premake.rst @@ -9,7 +9,8 @@ premake .. warning:: - This is an **experimental** feature subject to breaking changes in future releases. + This is a **deprecated** feature. Please refer to the :ref:`Migration Guidelines` + to find the feature that replaced this one. .. container:: out_reference_box diff --git a/versioning/revisions.rst b/versioning/revisions.rst index 849435e81ff3..e7deb0cf3550 100644 --- a/versioning/revisions.rst +++ b/versioning/revisions.rst @@ -42,7 +42,7 @@ The revisions can be pinned when you write a reference (in the recipe requires, If you specify a pinned revision in your references, and that revision is not the one present in the Conan cache, and ``--update`` is not provided, it will fail with an error. This behavior can be change with ``core:allow_explicit_revision_update=True`` -``[conf]`` configuration. It is experimental and can result in later errors (that won't be possible to fix, use it at your own risk), +``[conf]`` configuration. It can result in later errors (that won't be possible to fix, use it at your own risk), for example as the cache can only host 1 revision, it might happen that multiple pinned references are competing for it, and kicking each others revisions out of the cache while the dependency graph is computed.