Skip to content

Commit

Permalink
Release/1.16.0 (#1316)
Browse files Browse the repository at this point in the history
* conan new template (#1286)

* conan new template

* added template description

* fix code-block

* Add detected_os description (#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 (#1288)

* Adding docs from host-specific proxies (#1241)

* document QNX Neutrino support (#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 (#1292)

* add docs about pre/post_package_info (#1293)

* Add an example of removing system requirements via a wildcard (#1294)

* Add notes about new config global variables CONAN_RETRY and CONAN_RETRY_WAIT (#1295)

* fixed commands help update (Tried linux)

* updated conan new --file docs

* Deprecated -p in conan upload (#1300)

* Add documentation for tools.to_android_abi (#1102)

* Added missing bits of docs for Android flags (#1301)

* update help messages according to conan/#4896 (#1285)

* cascade policy (#1296)

* Purge 'export-pkg' reference docs (#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 (#1299)

* Commands help update

* Added editable and workspace

* Update commands

* clarify behavior of package() (#1304)

* conan new jinja template (#1306)

* Add know pip installation issue (#1311)

* Add know pip installation issue

* Rephrase

* Update installation.rst

Co-Authored-By: Javier G. Sogo <jgsogo@gmail.com>

* Integrations refactor (#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 (#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 (#1315)

* update help

* update equal sign

* Conan Extension for Visual Studio (#1312)

* lines about VS extension after #1308

* Apply suggestions from code review

Co-Authored-By: Daniel <danimanzaneque@gmail.com>

* Release
  • Loading branch information
lasote committed Jun 4, 2019
1 parent 82ff112 commit d43c8c4
Show file tree
Hide file tree
Showing 91 changed files with 927 additions and 391 deletions.
35 changes: 34 additions & 1 deletion changelog.rst
Expand Up @@ -18,10 +18,43 @@ Check https://github.com/conan-io/conan for issues and more details about develo

.. important::

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


1.16.0 (4-May-2019)
-------------------

- 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>`__
- 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>`__
- 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>`__
- Feature: Print errors and warnings to `stderr` `#5206 <https://github.com/conan-io/conan/pull/5206>`_
- 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>`__
- 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>`__
- 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>`__
- 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>`__
- Feature: Add gcc 8.3 and 9.1 new versions to default *settings.yml* `#5112 <https://github.com/conan-io/conan/pull/5112>`_
- Feature: Retry upload or download for error in response message (e.g. status is '500') `#4984 <https://github.com/conan-io/conan/pull/4984>`_
- Fix: Do not retry file transfer operations for 401 and 403 auth and permissions errors. `#5278 <https://github.com/conan-io/conan/pull/5278>`_
- Fix: Copy symlinked folder when using `merge_directories` function `#5237 <https://github.com/conan-io/conan/pull/5237>`_
- 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>`__
- 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>`_
- 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>`__
- Fix: Use `revision` as the SVN's `peg_revision` (broken for an edge case) `#5029 <https://github.com/conan-io/conan/pull/5029>`_
- Bugfix: ``--update`` was not updating ``python_requires`` using version ranges. `#5265 <https://github.com/conan-io/conan/pull/5265>`_
- 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>`_
- 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>`_
- Bugfix: Meson build-helper gets correct compiler flags, AutoTools build environment adds compiler.runtime flags `#5222 <https://github.com/conan-io/conan/pull/5222>`_
- Bugfix: The `cmake_multi` generator was not managing correctly the `RelWithDebInfo` and `MinSizeRel` build types. `#5221 <https://github.com/conan-io/conan/pull/5221>`_
- Bugfix: Check that registry file exists before removing it `#5219 <https://github.com/conan-io/conan/pull/5219>`_
- Bugfix: do not append "-T " if generator doesn't support it `#5201 <https://github.com/conan-io/conan/pull/5201>`_
- 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>`_
- 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>`_
- 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>`_
- 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>`_
- 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>`_


1.15.2 (31-May-2019)
--------------------

Expand Down
43 changes: 32 additions & 11 deletions commands_help_update.py
Expand Up @@ -3,25 +3,27 @@
import subprocess
import sys

commands = ["config", "get", "info", "install", "search", "create", "export-pkg", "export", "new",
"test", "upload", "build", "package", "source", "alias", "copy", "download", "help",
"imports", "inspect", "profile", "remote", "remove", "user"]

folder = {
"config": "consumer",
"get": "consumer",
"info": "consumer",
"install": "consumer",
"search": "consumer",

"create": "creator",
"export-pkg": "creator",
"export": "creator",
"new": "creator",
"test": "creator",
"upload": "creator",

"build": "development",
"package": "development",
"source": "development",
"editable": "development",
"workspace": "development",


"alias": "misc",
"copy": "misc",
"download": "misc",
Expand All @@ -34,6 +36,10 @@
"user": "misc"
}

experimental = ["inspect"]
commands = folder.keys()


conan_name = ""
try:
conan_name = sys.argv[1]
Expand All @@ -44,15 +50,16 @@
conan {0}
======{1}
{2}
.. code-block:: bash
$ {2}
{3}
$ {3}
{4}
.. code-block:: text
{4}"""
{5}"""


for command in commands:
execute = [conan_name, command, "-h"]
Expand All @@ -61,7 +68,7 @@
output = output.rstrip()
search_string = "conan %s [-h]" % command
output = search_string + output.split(search_string)[1]
output = output.split("\\r\\n\\r\\n" if platform.system() == "Windows" else "\n\n", 2)
output = output.split("\\r\\n\\r\\n" if platform.system() == "Windows" else "\\n\\n", 2)

underline = ""
for char in command:
Expand All @@ -75,16 +82,30 @@

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

if output[2].startswith("positional arguments"):
args_text = output[2]
else:
tmp = output[2].split("positional arguments")
text_help += "\n\n" + tmp[0].replace("\\r", "").replace("\\n", "\n").rstrip()
args_text = "positional arguments" + tmp[1]

arguments_help = ""
for line in output[2].replace("\\r", "").replace("\\n", "\n").splitlines():
for line in args_text.replace("\\r", "").replace("\\n", "\n").splitlines():
if line == "'" or line == "\"":
continue
arguments_help += (" %s\n" % line) if line else "\n"

arguments_help = arguments_help.rstrip()
print(arguments_help)

text = template.format(command, underline, small_help, text_help, arguments_help)
text_experimental = """
.. warning::
This is an **experimental** feature subject to breaking changes in future releases.
""" if command in experimental else ""
text = template.format(command, underline, text_experimental, small_help, text_help,
arguments_help)
text = text.replace("\\'", "\'")

filepath = os.path.join(os.path.dirname(os.path.realpath(__file__)), "reference", "commands",
Expand Down
44 changes: 41 additions & 3 deletions conf.py
Expand Up @@ -39,9 +39,9 @@
]

# The short X.Y version.
version = "1.15"
version = "1.16"
# The full version, including alpha/beta/rc tags.
release = u'1.15.1'
release = u'1.16.0'

dir_path = os.path.dirname(os.path.realpath(__file__))
if not os.path.exists(os.path.join(dir_path, "versions.json")):
Expand Down Expand Up @@ -396,7 +396,45 @@ def copy_legacy_redirects(app, docname): # Sphinx expects two arguments
redirect_files = {
"creating_packages/package_dev_flow.html": "../developing_packages/package_dev_flow.html",
"conan1.0.html": "faq/conan1.0.html",
"mastering/python_requires.html": "../extending/python_requires.html"}
"mastering/python_requires.html": "../extending/python_requires.html",

"integrations/cmake.html": "build_system/cmake.html",
"integrations/makefile.html": "build_system/makefile.html",
"integrations/ninja.html": "build_system/ninja.html",
"integrations/pkg_config_pc_files.html": "build_system/pkg_config_pc_files.html",
"integrations/boost_build.html": "build_system/boost_build.html",
"integrations/b2.html": "build_system/b2.html",
"integrations/qmake.html": "build_system/qmake.html",
"integrations/premake.html": "build_system/premake.html",
"integrations/make.html": "build_system/make.html",
"integrations/qbs.html": "build_system/qbs.html",
"integrations/meson.html": "build_system/meson.html",
"integrations/scons.html": "build_system/scons.html",
"integrations/gcc.html": "build_system/gcc.html",

"integrations/docker.html": "cross_platform/docker.html",
"integrations/qnx_neutrino.html": "cross_platform/qnx_neutrino.html",
"integrations/emscripten.html": "cross_platform/emscripten.html",

"integrations/visual_studio.html": "ide/visual_studio.html",
"integrations/xcode.html": "ide/xcode.html",
"integrations/android_studio.html": "ide/android_studio.html",
"integrations/clion.html": "ide/clion.html",
"integrations/youcompleteme.html": "ide/youcompleteme.html",

"integrations/git.html": "vcs/git.html",

"integrations/jenkins.html": "ci/jenkins.html",
"integrations/travisci.html": "ci/travisci.html",
"integrations/appveyor.html": "ci/appveyor.html",
"integrations/gitlab.html": "ci/gitlab.html",
"integrations/circleci.html": "ci/circleci.html",
"integrations/azure_devops.html": "ci/azure_devops.html",

"integrations/other.html": "custom.html",
"integrations/pylint.html": "linting.html",

}

redirect_template = """<!DOCTYPE html>
<html>
Expand Down
13 changes: 8 additions & 5 deletions creating_packages/package_repo.rst
Expand Up @@ -172,8 +172,11 @@ be valid too:
.. tip::

While you are in the same computer (the same Conan cache), even when you have exported the recipe and
Conan has captured the absolute url and commit, Conan will store the local folder where your source code lives.
If you build your package locally, it will use the local repository (in the local folder) instead of the remote URL,
even if the local directory contains uncommitted changes.
This allows you to speed up the development of your packages when cloning from a local repository.
When doing a :command:`conan create` of a recipe using ``scm``, Conan will save the path to the local source repository. Every time the
:command:`conan create` command is invoked, the sources will not be downloaded from the remote repository but copied from the local directory.

This allows to build packages making changes to the source code without the need of committing them and pushing them to the remote
repository. This convenient to speed up the development of your packages when cloning from a local repository.

**Warning:** This optimization can lead to non-reproducible packages if changes in the source code are not committed and the recipe is
uploaded with its packages to a remote.
3 changes: 2 additions & 1 deletion deploy_gh_pages.py
Expand Up @@ -99,7 +99,8 @@ def deploy():
if should_deploy():
config_git()
clean_gh_pages()
versions_dict = {"master": "1.15",
versions_dict = {"master": "1.16",
"release/1.15.2": "1.15",
"release/1.14.5": "1.14",
"release/1.13.3": "1.13",
"release/1.12.3": "1.12",
Expand Down
20 changes: 19 additions & 1 deletion developing_packages/workspaces.rst
Expand Up @@ -103,9 +103,27 @@ Here you can see the *CMakeLists.txt* used in this project:
conan_workspace_subdirectories()
The ``root: chat/0.1@user/testing`` defines which is the consumer node of the graph, typically some kind of executable. You
can provide a comma separated list of references. All the root nodes will be in the same dependency graph, leading to conflicts if they
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
depend on different versions of the same library, as in any other Conan command.

.. code-block:: yaml
editables:
say/0.1@user/testing:
path: say
hello/0.1@user/testing:
path: hello
chat/0.1@user/testing:
path: chat
root: chat/0.1@user/testing, say/0.1@user/testing
# or
root: ["HelloA/0.1@lasote/stable", "HelloB/0.1@lasote/stable"]
# or
root:
- HelloA/0.1@lasote/stable
- HelloB/0.1@lasote/stable
Single configuration build environments
---------------------------------------
Expand Down
Binary file added images/clion/clion_plugin.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/qnx_neutrino_logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/svn_logo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/visual_studio/marketplace-header.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 12 additions & 4 deletions installation.rst
Expand Up @@ -60,11 +60,19 @@ Known installation issues with pip
- With Python 3.4 the installation sometimes fails with ``NameError: name 'implementation_name' is not defined``. This issue seems to
happen when using `pip` without a virtual environment. You can fix it by upgrading `pip` this way:

.. code-block:: bash
.. code-block:: bash
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3.4 get-pip.py
$ pip install conan
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3.4 get-pip.py
$ pip install conan
- When Conan is installed with :command:`pip install --user <username>`, usually a new directory is created for it. However, the directory
is not appended automatically to the `PATH` and the :command:`conan` commands do not work. This can usually be solved restarting the session of
the terminal or running the following command:

.. code-block:: bash
$ source ~/.profile
Install from brew (OSX)
-----------------------
Expand Down
37 changes: 8 additions & 29 deletions integrations.rst
Expand Up @@ -10,32 +10,11 @@ packages can be consumed, created, and continuously deployed/tested with each, a
.. toctree::
:maxdepth: 2

integrations/cmake
integrations/makefile
integrations/visual_studio
integrations/xcode
integrations/gcc
integrations/android_studio
integrations/clion
integrations/ninja
integrations/pkg_config_pc_files
integrations/boost_build
integrations/b2
integrations/qmake
integrations/premake
integrations/make
integrations/qbs
integrations/meson
integrations/scons
integrations/docker
integrations/git
integrations/jenkins
integrations/travisci
integrations/appveyor
integrations/gitlab
integrations/circleci
integrations/youcompleteme
integrations/other
integrations/pylint
integrations/azure_devops
integrations/emscripten
integrations/build_system
integrations/ides
integrations/ci
integrations/cross_platform
integrations/vcs
integrations/custom
integrations/linting

32 changes: 32 additions & 0 deletions integrations/build_system.rst
@@ -0,0 +1,32 @@
.. _integration_build_systems:

Build systems
=============

Conan can be integrated with any build system. This can be done with:


- :ref:`Generators<generators>`: Conan can write file/s in different formats gathering all the information
from the dependency tree, like include directories, library names, library dirs...

- :ref:`Build Helpers<build_helpers>`: Conan provides some classes to help calling your build system, translating
the `settings` and `options` to the arguments, flags or environment variables that your build system expect.


.. toctree::
:maxdepth: 2

build_system/cmake
build_system/msbuild
build_system/makefile
build_system/ninja
build_system/pkg_config_pc_files
build_system/boost_build
build_system/b2
build_system/qmake
build_system/premake
build_system/make
build_system/qbs
build_system/meson
build_system/scons
build_system/gcc
2 changes: 1 addition & 1 deletion integrations/b2.rst → integrations/build_system/b2.rst
Expand Up @@ -9,4 +9,4 @@ Check the :ref:`generator b2<b2_generator>`



.. |b2_logo| image:: ../images/boost_build.png
.. |b2_logo| image:: ../../images/boost_build.png
Expand Up @@ -14,4 +14,4 @@ Check the :ref:`generator boost-build<boost_build_generator>`



.. |boost_build_logo| image:: ../images/boost_build.png
.. |boost_build_logo| image:: ../../images/boost_build.png
Expand Up @@ -18,4 +18,4 @@ Conan can be integrated with CMake using generators, build helpers and custom *f
cmake/find_packages


.. |cmake_logo| image:: ../images/cmake_logo.png
.. |cmake_logo| image:: ../../images/cmake_logo.png
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Expand Up @@ -13,4 +13,4 @@ Check :ref:`Building with Meson Build <meson_build_reference>` for more info.



.. |meson_logo| image:: ../images/meson.png
.. |meson_logo| image:: ../../images/meson.png

0 comments on commit d43c8c4

Please sign in to comment.