Skip to content

Commit

Permalink
Proofread and minor fixes for changes of Pull Request 744 of Conan 1.6
Browse files Browse the repository at this point in the history
  • Loading branch information
ramihonig committed Jul 25, 2018
1 parent 76ee34d commit 4dd1438
Show file tree
Hide file tree
Showing 11 changed files with 78 additions and 79 deletions.
48 changes: 24 additions & 24 deletions changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,42 +12,42 @@ Check https://github.com/conan-io/conan for issues and more details about develo
Please read more :ref:`about Conan stability<stability>`.

1.6.0 (19-July-2018)
------------------------
--------------------

- Feature: Added new ``self.run(..., run_environment=True)`` argument, that applies automatically ``PATH``, ``LD_LIBRARY_PATH`` and
``DYLD_LIBRARY_PATH`` environment variable, from the dependencies, to the execution of the current command.
- Feature: Added new ``tools.run_environment()`` as a shortcut of using ``tools.environment_append`` and ``RunEnvironment()`` together.
- Feature: Added new ``self.run(..., ignore_errors=True)`` argument, that inhibits launching an exception if the commands fails, user can
- Feature: Added a new ``self.run(..., run_environment=True)`` argument, that automatically applies ``PATH``, ``LD_LIBRARY_PATH`` and
``DYLD_LIBRARY_PATH`` environment variables from the dependencies, to the execution of the current command.
- Feature: Added a new ``tools.run_environment()`` method as a shortcut to using ``tools.environment_append`` and ``RunEnvironment()`` together.
- Feature: Added a new ``self.run(..., ignore_errors=True)`` argument that represses launching an exception if the commands fails, so user can
capture the return code.
- Feature: Improved ``tools.Git`` to allow capturing the current branch and enabling to export a package with version based on the branch and commit.
- Feature: The ``json`` generator now outputs the settings and options
- Feature: :command:`conan remote list --raw` prints remote info in a format valid for *remotes.txt*, so it can be used for ``conan config install``
- Feature: Visual Studio generator creates *conanbuildinfo.props* file using ``$(USERPROFILE)`` macro.
- Feature: Added ``filename`` parameter to ``tools.get()`` in case it cannot be deduced from URL.
- Feature: Improved ``tools.Git`` to allow capturing the current branch and enabling the export of a package whose version is based on the branch and commit.
- Feature: The ``json`` generator now outputs settings and options
- Feature: :command:`conan remote list --raw` prints remote information in a format valid for *remotes.txt*, so it can be used for ``conan config install``
- Feature: Visual Studio generator creates the *conanbuildinfo.props* file using the ``$(USERPROFILE)`` macro.
- Feature: Added a ``filename`` parameter to ``tools.get()`` in case it cannot be deduced from the URL.
- Feature: Propagated ``keep_permissions`` and ``pattern`` parameters from ``tools.get()`` to ``tools.unzip()``.
- Feature: Added XZ extensions to ``unzip()``. It will only work in Python 3 with lzma support enabled, producing an error otherwise.
- Feature: Added XZ extensions to ``unzip()``. This will only work in Python 3 with lzma support enabled, otherwise, and error is produced.
- Feature: Added ``FRAMEWORK_SEARCH_PATHS`` var to the XCode generator to support packaging Apple Frameworks. Read more
:ref:`here<package_apple_framework>`.
- Feature: Added :command:`conan build --test` and ``should_configure`` attribute to control test stage. Read more
- Feature: Added :command:`conan build --test` and a ``should_configure`` attribute to control the test stage. Read more
:ref:`here<attribute_build_stages>`.
- Feature: New tools to convert between files with LF and CRLF line endings: :ref:`tools_unix2dos` and :ref:`tools_dos2unix`.
- Feature: Added :command:`conan config install [url] --type=git` to force cloning git repo for ``http://...`` git urls.
- Feature: Improved output information when a package is missing in a remote, showing who is the package requiring the missing one.
- Feature: Improved the management of an upload interruption, avoiding uploads of incomplete tarballs.
- Feature: Added :command:`conan config install [url] --type=git` to force cloning of a Git repo for ``http://...`` git urls.
- Feature: Improved output information when a package is missing in a remote to show which package requires the missing one.
- Feature: Improved the management of an upload interruption to avoid uploads of incomplete tarballs.
- Feature: Added new ``LLVM`` toolsets to the base ``settings.yml`` (Visual Studio).
- Feature: Created plugin for pylint with the previous Conan checks (run in the export), enabling to use the plugin in IDEs and command line to check the correctness of the recipes.
- Feature: Improved ``deb`` installer to guarantee that runs correctly in Debian 9 and other distros.
- Feature: Created a plugin for pylint with the previous Conan checks (run in the export) enabling usage of the plugin in IDEs and command line to check if recipes are correct.
- Feature: Improved the ``deb`` installer to guarantee that it runs correctly in Debian 9 and other distros.
- Fix: Fixed :command:`conan search -q` and :command:`conan remove -q` to not return packages that don't have the setting specified in the query.
- Fix: Fixed ``SystemPackageTool`` when calling to update with ``sudo`` not enabled and ``mode=verify``.
- Fix: Removed ``pyinstaller`` shared libraries from the linker environment for any conan subprocess.
- Fix: Fixed ``SystemPackageTool`` when calling to update with ``sudo`` is not enabled and ``mode=verify``.
- Fix: Removed ``pyinstaller`` shared libraries from the linker environment for any Conan subprocess.
- BugFix: The ``YumTool`` now calls ``yum update`` instead of ``yum check-update``.
- Bugfix: Solved bug using ``--manifest`` parameter with :command:`conan create` causing the deletion of information of the dependency graph.
- Bugfix: Solved bug in the ``build`` method of the ``Version`` model, not showing correctly the version build field.
- Bugfix: Fixed Conan crash with a dependency tree containing transitive private nodes.
- Bugfix: Solved a bug in which using ``--manifest`` parameter with :command:`conan create` caused the deletion of information in the dependency graph.
- Bugfix: Solved bug in which the ``build`` method of the ``Version`` model was not showing the version build field correctly .
- Bugfix: Fixed a Conan crash caused by a dependency tree containing transitive private nodes.


1.5.2 (5-July-2018)
--------------------
-------------------

- Bugfix: Fixed bug with pre-1.0 packages with sources.
- Bugfix: Fixed regression in private requirements.
Expand Down Expand Up @@ -515,7 +515,7 @@ Check https://github.com/conan-io/conan for issues and more details about develo


0.29.2 (2-December-2017)
-------------------------
------------------------

- Updated python cryptography requirement for OSX due the pyOpenSSL upgrade. See more: https://pypi.org/project/pyOpenSSL/

Expand Down
33 changes: 16 additions & 17 deletions faq/conan1.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
Upgrading to conan 1.0
======================

If you were using a 0.X conan version, there are some things to consider while upgrading. They are reflected in the :ref:`changelog<changelog>`., but this section summarizes the most important changes here:
If you werehave been using a 0.X version of Conan, there are some things to consider when upgrading to version 1.0. These are reflected in the :ref:`changelog<changelog>`., however, this section summarizes the most important ones:


Command line changes
--------------------

There has been a few things that will break existing usage (compared to 0.30). Most of them are in command line arguments, so they are relatively easy to fix. The most important one is that now most commands require the path to the conanfile folder or file, instead of using ``--path`` and ``--file`` arguments. Specifically, :command:`conan install`, :command:`conan export` and :command:`conan create` will be the ones most affected:
There are quite a few things that will break existing usage (compared to 0.30). Most of these are in command line arguments, so they are relatively easy to fix. The most important one is that now, most commands require the path to the conanfile folder or file, instead of using ``--path`` and ``--file`` arguments. Specifically, :command:`conan install`, :command:`conan export` and :command:`conan create` are the ones most affected:

.. code-block:: bash
Expand All @@ -26,11 +26,11 @@ There has been a few things that will break existing usage (compared to 0.30). M
$ conan export . Pkg/0.1@user/channel
$ conan export myfolder/myconanfile.py Pkg/0.1@user/channel
This behavior aligns with the :command:`conan source`, :command:`conan build`, :command:`conan package` commands, that all use the same arguments to locate the *conanfile.py* containing the logic to be run.
This behavior aligns with the :command:`conan source`, :command:`conan build` and :command:`conan package` commands, that all use the same arguments to locate the *conanfile.py* containing the logic to be run.

Now all commands read: :command:`command <origin-conanfile> ...`

Also, all arguments to command line now use dash instead of underscore:
Also, all arguments to the command line now use a dash instead of an underscore:

.. code-block:: bash
Expand All @@ -43,18 +43,18 @@ Deprecations/removals
- ``self.conanfile_directory`` has been removed. Use ``self.source_folder``, ``self.build_folder``, etc. instead
- ``self.cpp_info``, ``self.env_info`` and ``self.user_info`` scope has been reduced to only the ``package_info()`` method
- ``gcc`` and ``ConfigureEnvironment`` were already removed in conan 0.30.1
- ``werror`` doesn't exist anymore. Now it is the builtin behavior.
- ``werror`` doesn't exist anymore. It is now built-in behavior.
- Command ``test_package`` has been removed. Use :command:`conan create` and :command:`conan test` instead.
- ``CMake`` helper only allows now (from conan 0.29). the ``CMake(self)`` syntax
- ``CMake`` helper now (from conan 0.29) only allows the ``CMake(self)`` syntax
- :command:`conan package_files` command was replaced in conan 0.28 by :command:`conan export-pkg` command.


Settings and profiles. Gcc/CLang versioning
Settings and profiles. Gcc/Clang versioning
-------------------------------------------

gcc and clang compilers have modified their versioning approach, from gcc > 5 and clang > 4,
the minors are really bugfixes, and then they have binary compatibility. To adapt to this,
conan now includes major version in the *settings.yml* default settings file:
GCC and Clang compilers have modified their versioning approach, from GCC > 5 and Clang > 4.
The minor versions are really bugfixes, and then they have binary compatibility. To adapt to this,
conan now includes the major version in the *settings.yml* default settings file:

.. code-block:: yaml
Expand All @@ -64,11 +64,11 @@ conan now includes major version in the *settings.yml* default settings file:
"6", "6.1", "6.2", "6.3", "6.4",
"7", "7.1", "7.2"]
Most package creators want to use the major-only settings, like ``-s compiler=gcc -s compiler.version=5``,
instead of specifying the minors too.
Most package creators want to use the major-only settings, such as ``-s compiler=gcc -s compiler.version=5``,
instead of also specifying the minor versions.

The default profile detection and creation has been modified accordingly, but if you have a default
profile you may want to update it to reflect this:
profile, you may want to update it to reflect this:

.. code-block::text
Expand All @@ -78,7 +78,7 @@ profile you may want to update it to reflect this:
compiler.version=7 #instead of 7.2
Conan associated tools (conan-package-tools, conan.cmake) have been upgraded to accomodate this new defaults.
Conan-associated tools (conan-package-tools, conan.cmake) have been upgraded to accommodate these new defaults.



Expand All @@ -88,8 +88,7 @@ New features
------------

- Cross-compilation support with new default settings in settings.yml: ``os_build``, ``arch_build``, ``os_target``, ``arch_target``.
They are automatically removed from the ``package_id`` computation, or kept if they
are the only ones defined (as it happens usually with dev-tools packages). It is possible to keep them too with the ``self.info.include_build_settings()`` method (call it in your ``package_id()`` method).
They are automatically removed from the ``package_id`` computation, or kept if they are the only ones defined (as usually happens with dev-tools packages). It is also possible to keep them with the ``self.info.include_build_settings()`` method (call it from your ``package_id()`` method).

.. important::

Expand All @@ -105,7 +104,7 @@ New features
Windows:
subsystem: [None, cygwin, msys, msys2, wsl]
This subsetting can be used by build helpers as ``CMake``, to act accordingly.
This subsetting can be used by build helpers such as ``CMake`` to act accordingly.



Expand Down
4 changes: 2 additions & 2 deletions howtos/link_apple_framework.rst
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ How to package Apple Frameworks

To package an Apple framework:

- Copy/Create a framework folder ``XXX.framework`` (being ``XXX`` the name of your framework),
to your package folder, putting there all the subdirectories (``Headers``, ``Modules``, etc).
- Copy/create a framework folder ``XXX.framework`` (``XXX`` being the name of your framework),
to your package folder, where you should put all the subdirectories (``Headers``, ``Modules``, etc).

.. code-block:: python
Expand Down
10 changes: 5 additions & 5 deletions integrations/pylint.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
Linting conanfile.py
====================

``conan create`` command verifies the recipe file using pylint.
The ``conan create`` command verifies the recipe file using pylint.

However if you have IDE which has support for Python and may do linting automatically,
there are false warnings caused by the fact that Conan populates some
fields of recipe dynamically based on context.
However, if you have an IDE that supports Python and may do linting automatically,
there are false warnings caused by the fact that Conan dynamically populates some
fields of the recipe based on context.

Conan provides a plugin which makes pylint aware of these dynamic fields and their types.
To using it when running pylint outside Conan just add to your ``.pylintrc`` file:
To use it when running pylint outside Conan, just add the following to your ``.pylintrc`` file:

.. code-block:: ini
Expand Down
4 changes: 2 additions & 2 deletions reference/build_helpers/run_environment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
.. warning::

The ``RunEnvironment`` is no longer needed, at least explicitly in conanfile.py. It has been integrated
in the ``self.run(..., run_environment=True)`` argument. Check :ref:`self.run() docs <running_commands>`.
into the ``self.run(..., run_environment=True)`` argument. Check :ref:`self.run() docs <running_commands>`.


RunEnvironment
Expand Down Expand Up @@ -60,7 +60,7 @@ It sets the following environment variables:
# self.run('./myexetool") # won't work, even if 'DYLD_LIBRARY_PATH' is in the env
self.run('DYLD_LIBRARY_PATH=%s ./myexetool" % os.environ['DYLD_LIBRARY_PATH'])
This is already automatically handled by the ``self.run(..., run_environment=True)`` argument.
This is already handled automatically by the ``self.run(..., run_environment=True)`` argument.
.. seealso::
Expand Down
8 changes: 4 additions & 4 deletions reference/commands/consumer/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -91,27 +91,27 @@ so following calls to :command:`conan config install` command doesn't need to sp

**Examples**:

- Install the configuration from an URL:
- Install the configuration from a URL:

.. code-block:: bash
$ conan config install http://url/to/some/config.zip
Conan config command stores the specified URL in the conan.conf ``general.config_install`` variable.

- Install the configuration from a git repository:
- Install the configuration from a Git repository:

.. code-block:: bash
$ conan config install http://github.com/user/conan_config/.git
You can also force the git download by using :command:`--type git` (in case it is not deduced from URL automatically):
You can also force the git download by using :command:`--type git` (in case it is not deduced from the URL automatically):

.. code-block:: bash
$ conan config install http://github.com/user/conan_config/.git --type git
- Install from an url skipping SSL verification:
- Install from a URL skipping SSL verification:

.. code-block:: bash
Expand Down
6 changes: 3 additions & 3 deletions reference/commands/development/build.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,19 @@ folder will be configured as destination folder for the install step.
-h, --help show this help message and exit
-b, --build Execute the build step (variable should_build=True).
When specified, configure/install/test won't run
unless --configure/--install/--test specified
unless --configure/--install/--test are specified
-bf BUILD_FOLDER, --build-folder BUILD_FOLDER
Directory for the build process. Defaulted to the
current directory. A relative path to current
directory can also be specified
-c, --configure Execute the configuration step (variable
should_configure=True). When specified,
build/install/test won't run unless
--build/--install/--test specified
--build/--install/--test are specified
-i, --install Execute the install step (variable
should_install=True). When specified,
configure/build/test won't run unless
--configure/--build/--test specified
--configure/--build/--test are specified
-t, --test Execute the test step (variable should_test=True).
When specified, configure/build/install won't run
unless --configure/--build/--install specified
Expand Down
Loading

0 comments on commit 4dd1438

Please sign in to comment.