Skip to content

Commit d43c8c4

Browse files
authored
Release/1.16.0 (conan-io#1316)
* conan new template (conan-io#1286) * conan new template * added template description * fix code-block * Add detected_os description (conan-io#1276) * Add detected_os description Signed-off-by: Uilian Ries <uilianries@gmail.com> * Update reference/tools.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * workpsace yaml list (conan-io#1288) * Adding docs from host-specific proxies (conan-io#1241) * document QNX Neutrino support (conan-io#1290) * - document QNX Neutrino support Signed-off-by: SSE4 <tomskside@gmail.com> * Update integrations/qnx_neutrino.rst Co-Authored-By: Daniel <danimanzaneque@gmail.com> * - update settings.yml Signed-off-by: SSE4 <tomskside@gmail.com> * change default for CMake build_helper (conan-io#1292) * add docs about pre/post_package_info (conan-io#1293) * Add an example of removing system requirements via a wildcard (conan-io#1294) * Add notes about new config global variables CONAN_RETRY and CONAN_RETRY_WAIT (conan-io#1295) * fixed commands help update (Tried linux) * updated conan new --file docs * Deprecated -p in conan upload (conan-io#1300) * Add documentation for tools.to_android_abi (conan-io#1102) * Added missing bits of docs for Android flags (conan-io#1301) * update help messages according to conan/#4896 (conan-io#1285) * cascade policy (conan-io#1296) * Purge 'export-pkg' reference docs (conan-io#1232) * purge 'export-pkg' reference docs * package folder * write a couple of examples! * change workspace by working folder * typos related to formatting * minor fix * Feature/commands help update (conan-io#1299) * Commands help update * Added editable and workspace * Update commands * clarify behavior of package() (conan-io#1304) * conan new jinja template (conan-io#1306) * Add know pip installation issue (conan-io#1311) * Add know pip installation issue * Rephrase * Update installation.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * Integrations refactor (conan-io#1308) * Integrations * Rename and fixed link * Fix link * Update integrations/custom.rst Co-Authored-By: Daniel <danimanzaneque@gmail.com> * Update integrations/vcs/git.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * Update integrations.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * Update integrations/build_system.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * Update integrations/cross_platform.rst Co-Authored-By: Daniel <danimanzaneque@gmail.com> * Update integrations/vcs/svn.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * Update integrations/linting/binary.rst Co-Authored-By: SSE4 <tomskside@gmail.com> * Msbuild and visual studio, clion update * Same as clion * Redirects * Fixed symlinks * Rewrite of the SCM optimization tip box (conan-io#1307) * Rewrite of the SCM optimization tip box * review * Update creating_packages/package_repo.rst Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com> * update docs to reflect conan new --template arg * update help commands (conan-io#1315) * update help * update equal sign * Conan Extension for Visual Studio (conan-io#1312) * lines about VS extension after conan-io#1308 * Apply suggestions from code review Co-Authored-By: Daniel <danimanzaneque@gmail.com> * Release
1 parent 82ff112 commit d43c8c4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+927
-391
lines changed

changelog.rst

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,43 @@ Check https://github.com/conan-io/conan for issues and more details about develo
1818

1919
.. important::
2020

21-
Conan 1.15 shouldn't break any existing 1.0 recipe or command line invocation. If it does, please submit a report on GitHub.
21+
Conan 1.16 shouldn't break any existing 1.0 recipe or command line invocation. If it does, please submit a report on GitHub.
2222
Read more about the :ref:`Conan stability commitment<stability>`.
2323

2424

25+
1.16.0 (4-May-2019)
26+
-------------------
27+
28+
- Feature: The :command:`conan upload` command can receive now the full package reference to upload a binary package. The `-p` argument is now deprecated. `#5224 <https://github.com/conan-io/conan/pull/5224>`_ . Docs `here <https://github.com/conan-io/docs/pull/1300>`__
29+
- Feature: Add hooks `pre_package_info` and `post_package_info` `#5223 <https://github.com/conan-io/conan/pull/5223>`_ . Docs `here <https://github.com/conan-io/docs/pull/1293>`__
30+
- Feature: New build mode `--build cascade` that forces building from sources any node with dependencies also built from sources. `#5218 <https://github.com/conan-io/conan/pull/5218>`_ . Docs `here <https://github.com/conan-io/docs/pull/1296>`__
31+
- Feature: Print errors and warnings to `stderr` `#5206 <https://github.com/conan-io/conan/pull/5206>`_
32+
- Feature: New ``conan new --template=mytemplate`` to initialize recipes with your own templates `#5189 <https://github.com/conan-io/conan/pull/5189>`_ . Docs `here <https://github.com/conan-io/docs/pull/1286>`__
33+
- Feature: Allow using wildcards to remove system requirements sentinel from cache. `#5176 <https://github.com/conan-io/conan/pull/5176>`_ . Docs `here <https://github.com/conan-io/docs/pull/1294>`__
34+
- Feature: Implement conan.conf ``retry`` and ``retry-wait`` and ``CONAN_RETRY`` and ``CONAN_RETRY_WAIT`` to configure all retries for all transfers, including upload, download, and ``tools.download()``. `#5174 <https://github.com/conan-io/conan/pull/5174>`_ . Docs `here <https://github.com/conan-io/docs/pull/1295>`__
35+
- Feature: Support yaml lists in workspace ``root`` field. `#5156 <https://github.com/conan-io/conan/pull/5156>`_ . Docs `here <https://github.com/conan-io/docs/pull/1288>`__
36+
- Feature: Add gcc 8.3 and 9.1 new versions to default *settings.yml* `#5112 <https://github.com/conan-io/conan/pull/5112>`_
37+
- Feature: Retry upload or download for error in response message (e.g. status is '500') `#4984 <https://github.com/conan-io/conan/pull/4984>`_
38+
- Fix: Do not retry file transfer operations for 401 and 403 auth and permissions errors. `#5278 <https://github.com/conan-io/conan/pull/5278>`_
39+
- Fix: Copy symlinked folder when using `merge_directories` function `#5237 <https://github.com/conan-io/conan/pull/5237>`_
40+
- Fix: Add the ability to avoid the `/verbosity` argument in CMake command line for MSBuild `#5220 <https://github.com/conan-io/conan/pull/5220>`_ . Docs `here <https://github.com/conan-io/docs/pull/1292>`__
41+
- Fix: self.copy with symlinks=True does not copy symlink if the .conan directory is a symlink #5114 `#5125 <https://github.com/conan-io/conan/pull/5125>`_
42+
- Fix: Export detected_os from tools.oss (#5101) `#5102 <https://github.com/conan-io/conan/pull/5102>`_ . Docs `here <https://github.com/conan-io/docs/pull/1276>`__
43+
- Fix: Use `revision` as the SVN's `peg_revision` (broken for an edge case) `#5029 <https://github.com/conan-io/conan/pull/5029>`_
44+
- Bugfix: ``--update`` was not updating ``python_requires`` using version ranges. `#5265 <https://github.com/conan-io/conan/pull/5265>`_
45+
- Bugfix: ``visual_studio`` generator only adds ".lib" extension for lib names without extension, otherwise (like ".a") respect it. `#5254 <https://github.com/conan-io/conan/pull/5254>`_
46+
- Bugfix: Fix :command:`conan search` command showing revisions timestamps in a different time offset than UTC. `#5232 <https://github.com/conan-io/conan/pull/5232>`_
47+
- Bugfix: Meson build-helper gets correct compiler flags, AutoTools build environment adds compiler.runtime flags `#5222 <https://github.com/conan-io/conan/pull/5222>`_
48+
- Bugfix: The `cmake_multi` generator was not managing correctly the `RelWithDebInfo` and `MinSizeRel` build types. `#5221 <https://github.com/conan-io/conan/pull/5221>`_
49+
- Bugfix: Check that registry file exists before removing it `#5219 <https://github.com/conan-io/conan/pull/5219>`_
50+
- Bugfix: do not append "-T " if generator doesn't support it `#5201 <https://github.com/conan-io/conan/pull/5201>`_
51+
- Bugfix: :command:`conan download` always retrieve the sources, also with ``--recipe`` argument, which should only skip download binaries, not the sources. `#5194 <https://github.com/conan-io/conan/pull/5194>`_
52+
- Bugfix: Using `scm` declared in a superclass failed exporting the recipe with the error `ERROR: The conanfile.py defines more than one class level 'scm' attribute`. `#5185 <https://github.com/conan-io/conan/pull/5185>`_
53+
- Bugfix: Conan command returns 6 (Invalid configuration) also when the settings are restricted in the recipe `#5178 <https://github.com/conan-io/conan/pull/5178>`_
54+
- Bugfix: Make sure that proxy "http_proxy", "https_proxy", "no_proxy" vars are correctly removed if custom ones are defined in the conan.conf. Also, avoid using ``urllib.request.getproxies()``, they are broken. `#5162 <https://github.com/conan-io/conan/pull/5162>`_
55+
- Bugfix: Use `copy()` for deploy generator so that permissions of files are preserved. Required if you want to use the deploy generator to deploy executables. `#5136 <https://github.com/conan-io/conan/pull/5136>`_
56+
57+
2558
1.15.2 (31-May-2019)
2659
--------------------
2760

commands_help_update.py

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,27 @@
33
import subprocess
44
import sys
55

6-
commands = ["config", "get", "info", "install", "search", "create", "export-pkg", "export", "new",
7-
"test", "upload", "build", "package", "source", "alias", "copy", "download", "help",
8-
"imports", "inspect", "profile", "remote", "remove", "user"]
9-
106
folder = {
117
"config": "consumer",
128
"get": "consumer",
139
"info": "consumer",
1410
"install": "consumer",
1511
"search": "consumer",
12+
1613
"create": "creator",
1714
"export-pkg": "creator",
1815
"export": "creator",
1916
"new": "creator",
2017
"test": "creator",
2118
"upload": "creator",
19+
2220
"build": "development",
2321
"package": "development",
2422
"source": "development",
23+
"editable": "development",
24+
"workspace": "development",
25+
26+
2527
"alias": "misc",
2628
"copy": "misc",
2729
"download": "misc",
@@ -34,6 +36,10 @@
3436
"user": "misc"
3537
}
3638

39+
experimental = ["inspect"]
40+
commands = folder.keys()
41+
42+
3743
conan_name = ""
3844
try:
3945
conan_name = sys.argv[1]
@@ -44,15 +50,16 @@
4450
4551
conan {0}
4652
======{1}
47-
53+
{2}
4854
.. code-block:: bash
4955
50-
$ {2}
51-
{3}
56+
$ {3}
57+
{4}
5258
5359
.. code-block:: text
5460
55-
{4}"""
61+
{5}"""
62+
5663

5764
for command in commands:
5865
execute = [conan_name, command, "-h"]
@@ -61,7 +68,7 @@
6168
output = output.rstrip()
6269
search_string = "conan %s [-h]" % command
6370
output = search_string + output.split(search_string)[1]
64-
output = output.split("\\r\\n\\r\\n" if platform.system() == "Windows" else "\n\n", 2)
71+
output = output.split("\\r\\n\\r\\n" if platform.system() == "Windows" else "\\n\\n", 2)
6572

6673
underline = ""
6774
for char in command:
@@ -75,16 +82,30 @@
7582

7683
text_help = output[1].replace("\\r", "").replace("\\n", "\n").rstrip()
7784

85+
if output[2].startswith("positional arguments"):
86+
args_text = output[2]
87+
else:
88+
tmp = output[2].split("positional arguments")
89+
text_help += "\n\n" + tmp[0].replace("\\r", "").replace("\\n", "\n").rstrip()
90+
args_text = "positional arguments" + tmp[1]
91+
7892
arguments_help = ""
79-
for line in output[2].replace("\\r", "").replace("\\n", "\n").splitlines():
93+
for line in args_text.replace("\\r", "").replace("\\n", "\n").splitlines():
8094
if line == "'" or line == "\"":
8195
continue
8296
arguments_help += (" %s\n" % line) if line else "\n"
8397

8498
arguments_help = arguments_help.rstrip()
8599
print(arguments_help)
86100

87-
text = template.format(command, underline, small_help, text_help, arguments_help)
101+
text_experimental = """
102+
.. warning::
103+
104+
This is an **experimental** feature subject to breaking changes in future releases.
105+
106+
""" if command in experimental else ""
107+
text = template.format(command, underline, text_experimental, small_help, text_help,
108+
arguments_help)
88109
text = text.replace("\\'", "\'")
89110

90111
filepath = os.path.join(os.path.dirname(os.path.realpath(__file__)), "reference", "commands",

conf.py

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@
3939
]
4040

4141
# The short X.Y version.
42-
version = "1.15"
42+
version = "1.16"
4343
# The full version, including alpha/beta/rc tags.
44-
release = u'1.15.1'
44+
release = u'1.16.0'
4545

4646
dir_path = os.path.dirname(os.path.realpath(__file__))
4747
if not os.path.exists(os.path.join(dir_path, "versions.json")):
@@ -396,7 +396,45 @@ def copy_legacy_redirects(app, docname): # Sphinx expects two arguments
396396
redirect_files = {
397397
"creating_packages/package_dev_flow.html": "../developing_packages/package_dev_flow.html",
398398
"conan1.0.html": "faq/conan1.0.html",
399-
"mastering/python_requires.html": "../extending/python_requires.html"}
399+
"mastering/python_requires.html": "../extending/python_requires.html",
400+
401+
"integrations/cmake.html": "build_system/cmake.html",
402+
"integrations/makefile.html": "build_system/makefile.html",
403+
"integrations/ninja.html": "build_system/ninja.html",
404+
"integrations/pkg_config_pc_files.html": "build_system/pkg_config_pc_files.html",
405+
"integrations/boost_build.html": "build_system/boost_build.html",
406+
"integrations/b2.html": "build_system/b2.html",
407+
"integrations/qmake.html": "build_system/qmake.html",
408+
"integrations/premake.html": "build_system/premake.html",
409+
"integrations/make.html": "build_system/make.html",
410+
"integrations/qbs.html": "build_system/qbs.html",
411+
"integrations/meson.html": "build_system/meson.html",
412+
"integrations/scons.html": "build_system/scons.html",
413+
"integrations/gcc.html": "build_system/gcc.html",
414+
415+
"integrations/docker.html": "cross_platform/docker.html",
416+
"integrations/qnx_neutrino.html": "cross_platform/qnx_neutrino.html",
417+
"integrations/emscripten.html": "cross_platform/emscripten.html",
418+
419+
"integrations/visual_studio.html": "ide/visual_studio.html",
420+
"integrations/xcode.html": "ide/xcode.html",
421+
"integrations/android_studio.html": "ide/android_studio.html",
422+
"integrations/clion.html": "ide/clion.html",
423+
"integrations/youcompleteme.html": "ide/youcompleteme.html",
424+
425+
"integrations/git.html": "vcs/git.html",
426+
427+
"integrations/jenkins.html": "ci/jenkins.html",
428+
"integrations/travisci.html": "ci/travisci.html",
429+
"integrations/appveyor.html": "ci/appveyor.html",
430+
"integrations/gitlab.html": "ci/gitlab.html",
431+
"integrations/circleci.html": "ci/circleci.html",
432+
"integrations/azure_devops.html": "ci/azure_devops.html",
433+
434+
"integrations/other.html": "custom.html",
435+
"integrations/pylint.html": "linting.html",
436+
437+
}
400438

401439
redirect_template = """<!DOCTYPE html>
402440
<html>

creating_packages/package_repo.rst

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,11 @@ be valid too:
172172
173173
.. tip::
174174

175-
While you are in the same computer (the same Conan cache), even when you have exported the recipe and
176-
Conan has captured the absolute url and commit, Conan will store the local folder where your source code lives.
177-
If you build your package locally, it will use the local repository (in the local folder) instead of the remote URL,
178-
even if the local directory contains uncommitted changes.
179-
This allows you to speed up the development of your packages when cloning from a local repository.
175+
When doing a :command:`conan create` of a recipe using ``scm``, Conan will save the path to the local source repository. Every time the
176+
:command:`conan create` command is invoked, the sources will not be downloaded from the remote repository but copied from the local directory.
177+
178+
This allows to build packages making changes to the source code without the need of committing them and pushing them to the remote
179+
repository. This convenient to speed up the development of your packages when cloning from a local repository.
180+
181+
**Warning:** This optimization can lead to non-reproducible packages if changes in the source code are not committed and the recipe is
182+
uploaded with its packages to a remote.

deploy_gh_pages.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ def deploy():
9999
if should_deploy():
100100
config_git()
101101
clean_gh_pages()
102-
versions_dict = {"master": "1.15",
102+
versions_dict = {"master": "1.16",
103+
"release/1.15.2": "1.15",
103104
"release/1.14.5": "1.14",
104105
"release/1.13.3": "1.13",
105106
"release/1.12.3": "1.12",

developing_packages/workspaces.rst

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,27 @@ Here you can see the *CMakeLists.txt* used in this project:
103103
conan_workspace_subdirectories()
104104
105105
The ``root: chat/0.1@user/testing`` defines which is the consumer node of the graph, typically some kind of executable. You
106-
can provide a comma separated list of references. All the root nodes will be in the same dependency graph, leading to conflicts if they
106+
can provide a comma separated list of references, as a string, or a yaml list (abbreviated or full as yaml items). All the root nodes will be in the same dependency graph, leading to conflicts if they
107107
depend on different versions of the same library, as in any other Conan command.
108108

109+
.. code-block:: yaml
110+
111+
editables:
112+
say/0.1@user/testing:
113+
path: say
114+
hello/0.1@user/testing:
115+
path: hello
116+
chat/0.1@user/testing:
117+
path: chat
118+
119+
root: chat/0.1@user/testing, say/0.1@user/testing
120+
# or
121+
root: ["HelloA/0.1@lasote/stable", "HelloB/0.1@lasote/stable"]
122+
# or
123+
root:
124+
- HelloA/0.1@lasote/stable
125+
- HelloB/0.1@lasote/stable
126+
109127
110128
Single configuration build environments
111129
---------------------------------------

images/clion/clion_plugin.png

62.4 KB
Loading

images/qnx_neutrino_logo.png

48.6 KB
Loading

images/svn_logo.png

5.35 KB
Loading
50.4 KB
Loading

installation.rst

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,19 @@ Known installation issues with pip
6060
- With Python 3.4 the installation sometimes fails with ``NameError: name 'implementation_name' is not defined``. This issue seems to
6161
happen when using `pip` without a virtual environment. You can fix it by upgrading `pip` this way:
6262

63-
.. code-block:: bash
63+
.. code-block:: bash
6464
65-
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
66-
$ python3.4 get-pip.py
67-
$ pip install conan
65+
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
66+
$ python3.4 get-pip.py
67+
$ pip install conan
68+
69+
- When Conan is installed with :command:`pip install --user <username>`, usually a new directory is created for it. However, the directory
70+
is not appended automatically to the `PATH` and the :command:`conan` commands do not work. This can usually be solved restarting the session of
71+
the terminal or running the following command:
72+
73+
.. code-block:: bash
74+
75+
$ source ~/.profile
6876
6977
Install from brew (OSX)
7078
-----------------------

integrations.rst

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,11 @@ packages can be consumed, created, and continuously deployed/tested with each, a
1010
.. toctree::
1111
:maxdepth: 2
1212

13-
integrations/cmake
14-
integrations/makefile
15-
integrations/visual_studio
16-
integrations/xcode
17-
integrations/gcc
18-
integrations/android_studio
19-
integrations/clion
20-
integrations/ninja
21-
integrations/pkg_config_pc_files
22-
integrations/boost_build
23-
integrations/b2
24-
integrations/qmake
25-
integrations/premake
26-
integrations/make
27-
integrations/qbs
28-
integrations/meson
29-
integrations/scons
30-
integrations/docker
31-
integrations/git
32-
integrations/jenkins
33-
integrations/travisci
34-
integrations/appveyor
35-
integrations/gitlab
36-
integrations/circleci
37-
integrations/youcompleteme
38-
integrations/other
39-
integrations/pylint
40-
integrations/azure_devops
41-
integrations/emscripten
13+
integrations/build_system
14+
integrations/ides
15+
integrations/ci
16+
integrations/cross_platform
17+
integrations/vcs
18+
integrations/custom
19+
integrations/linting
20+

integrations/build_system.rst

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
.. _integration_build_systems:
2+
3+
Build systems
4+
=============
5+
6+
Conan can be integrated with any build system. This can be done with:
7+
8+
9+
- :ref:`Generators<generators>`: Conan can write file/s in different formats gathering all the information
10+
from the dependency tree, like include directories, library names, library dirs...
11+
12+
- :ref:`Build Helpers<build_helpers>`: Conan provides some classes to help calling your build system, translating
13+
the `settings` and `options` to the arguments, flags or environment variables that your build system expect.
14+
15+
16+
.. toctree::
17+
:maxdepth: 2
18+
19+
build_system/cmake
20+
build_system/msbuild
21+
build_system/makefile
22+
build_system/ninja
23+
build_system/pkg_config_pc_files
24+
build_system/boost_build
25+
build_system/b2
26+
build_system/qmake
27+
build_system/premake
28+
build_system/make
29+
build_system/qbs
30+
build_system/meson
31+
build_system/scons
32+
build_system/gcc

integrations/b2.rst renamed to integrations/build_system/b2.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ Check the :ref:`generator b2<b2_generator>`
99

1010

1111

12-
.. |b2_logo| image:: ../images/boost_build.png
12+
.. |b2_logo| image:: ../../images/boost_build.png

integrations/boost_build.rst renamed to integrations/build_system/boost_build.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ Check the :ref:`generator boost-build<boost_build_generator>`
1414

1515

1616

17-
.. |boost_build_logo| image:: ../images/boost_build.png
17+
.. |boost_build_logo| image:: ../../images/boost_build.png

integrations/cmake.rst renamed to integrations/build_system/cmake.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ Conan can be integrated with CMake using generators, build helpers and custom *f
1818
cmake/find_packages
1919

2020

21-
.. |cmake_logo| image:: ../images/cmake_logo.png
21+
.. |cmake_logo| image:: ../../images/cmake_logo.png
File renamed without changes.
File renamed without changes.
File renamed without changes.

integrations/meson.rst renamed to integrations/build_system/meson.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ Check :ref:`Building with Meson Build <meson_build_reference>` for more info.
1313

1414

1515

16-
.. |meson_logo| image:: ../images/meson.png
16+
.. |meson_logo| image:: ../../images/meson.png

0 commit comments

Comments
 (0)