Skip to content

Commit b72335e

Browse files
uilianriesczoido
andauthored
Add runtime_deploy entry (#4205)
* Add runtime_deploy entry Signed-off-by: Uilian Ries <uilianr@jfrog.com> * Keep symlinks detail for the section below Signed-off-by: Uilian Ries <uilianr@jfrog.com> * Better grammar Co-authored-by: Carlos Zoido <mrgalleta@gmail.com> * Avoid duplicated information Signed-off-by: Uilian Ries <uilianr@jfrog.com> * Keep a summary for deployers in install command Signed-off-by: Uilian Ries <uilianr@jfrog.com> --------- Signed-off-by: Uilian Ries <uilianr@jfrog.com> Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>
1 parent 1b46102 commit b72335e

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

reference/commands/install.rst

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,12 @@ like collecting licenses, generating reports, deploying binaries to the system,
124124
125125
There are 3 built-in deployers:
126126

127-
- ``full_deploy`` does a complete copy of the dependencies binaries in the local folder, with a minimal folder
127+
- :ref:`reference_extensions_deployer_full_deploy` does a complete copy of the dependencies binaries in the local folder, with a minimal folder
128128
structure to avoid conflicts between files and artifacts of different packages
129-
- ``direct_deploy`` does a copy of only the immediate direct dependencies, but does not include the transitive
129+
- :ref:`reference_extensions_deployer_direct_deploy` does a copy of only the immediate direct dependencies, but does not include the transitive
130130
dependencies.
131-
- ``runtime_deploy`` deploys all the shared libraries and the executables of the
132-
dependencies (like ``.so``, ``.dll``, or ``.dylib`` files) into a flat directory
133-
structure. The symbolic links of libraries are copied by default and they can be managed through the boolean
134-
configuration ``tools.deployer:symlinks``. (Available since Conan 2.5.0)
131+
- :ref:`reference_extensions_deployer_runtime_deploy` deploys all the shared libraries and the executables of the
132+
dependencies into a flat directory structure, preserving subdirectories as-is.
135133

136134
Some generators might have the capability of redefining the target "package folder". That means that if some other
137135
generator like ``CMakeDeps`` is used that is pointing to the packages, it will be pointing to the local deployed

reference/extensions/deployers.rst

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ Use the ``--deployer-folder`` argument to change the base folder output path for
2222
Built-in deployers
2323
------------------
2424

25+
.. warning::
26+
27+
The built-in deployers are in **preview**.
28+
See :ref:`the Conan stability<stability>` section for more information.
29+
30+
2531
.. _reference_extensions_deployer_full_deploy:
2632

2733
full_deploy
@@ -50,18 +56,27 @@ This deployer will output your dependencies in a tree folder such as:
5056

5157
``[OUTPUT_FOLDER]/direct_deploy/dep``
5258

53-
.. warning::
59+
.. _reference_extensions_deployer_runtime_deploy:
5460

55-
The built-in deployers are in **preview**.
56-
See :ref:`the Conan stability<stability>` section for more information.
61+
runtime_deploy
62+
^^^^^^^^^^^^^^
63+
64+
New since `Conan 2.5.0 <https://github.com/conan-io/conan/releases/tag/2.5.0>`__
65+
66+
Copies all shared libraries and executables from dependencies (such as .so, .dll, or .dylib files)
67+
into a flattened directory structure.
68+
69+
Since Conan 2.20.0, subdirectories are maintained and preserved as-is.
70+
Files are only included in environment generators when correctly specified through ``cpp_info.bindirs``
71+
and ``cpp_info.libdirs`` configuration.
5772

5873

5974
configuration
6075
^^^^^^^^^^^^^
6176

62-
Both the ``full_deploy`` and the ``direct_deploy`` understand when the conf ``tools.deployer:symlinks`` is set to ``False``
63-
to disable deployers copying symlinks. This can be convenient in systems that do not support symlinks and could fail
64-
if deploying packages that contain symlinks.
77+
The ``full_deploy``, ``direct_deploy`` and ``runtime_deploy`` understand when the conf ``tools.deployer:symlinks``
78+
is set to ``False`` to disable deployers copying symlinks. This can be convenient in systems that do not support
79+
symlinks and could fail if deploying packages that contain symlinks.
6580

6681

6782
Custom deployers

0 commit comments

Comments
 (0)