Skip to content

Commit

Permalink
merged master, solved conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
memsharded committed Mar 30, 2021
2 parents b41fe91 + f250718 commit bac1d95
Show file tree
Hide file tree
Showing 28 changed files with 306 additions and 250 deletions.
4 changes: 2 additions & 2 deletions .ci/publish.jenkins
Expand Up @@ -2,7 +2,7 @@

// TODO: Move to a file and avoid modifying CI script
Map<String, String> versions = [
'release/1.34.0': '1.34',
'release/1.34.1': '1.34',
'release/1.33.1': '1.33',
'release/1.32.1': '1.32',
'release/1.31.4': '1.31',
Expand Down Expand Up @@ -89,7 +89,7 @@ node('Linux') {
image.inside {
stage('Prepare sources') {
writeJSON json: versions, file: "${folderName}/versions.json"
if (folderName != 'latest') {
if (folderName != 'latest') {
sh "rm -fr ${folderName}/_themes/conan"
sh "cp -a latest/_themes/. ${folderName}/_themes/"
}
Expand Down
9 changes: 8 additions & 1 deletion changelog.rst
Expand Up @@ -21,6 +21,13 @@ Check https://github.com/conan-io/conan for issues and more details about develo
Conan 1.34 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.34.1 (10-Mar-2021)
--------------------

- Fix: Allow ``cmake_find_package_multi`` and ``CMakeDeps`` to be aliases for ``cpp_info.names`` and ``cpp_info.filenames`` to allow easy migration. `#8568 <https://github.com/conan-io/conan/pull/8568>`_
- Bugfix: Restoring the behavior that `exports` and `exports_sources` were case sensitive by default. `#8621 <https://github.com/conan-io/conan/pull/8621>`_
- BugFix: Solved issues with already existing packages appearing in ``conan lock bundle build-order``. `#8579 <https://github.com/conan-io/conan/pull/8579>`_

1.34.0 (26-Feb-2021)
--------------------

Expand Down Expand Up @@ -566,7 +573,7 @@ Check https://github.com/conan-io/conan for issues and more details about develo

1.22.0 (05-Feb-2020)
--------------------

- Feature: Set conan generated CMake targets as `GLOBAL` so that they can be used with an `ALIAS` for consumers. `#6438 <https://github.com/conan-io/conan/pull/6438>`_ . Docs `here <https://github.com/conan-io/docs/pull/1534>`__
- Feature: Deduce `compiler.base.runtime` for Intel compiler settings when using Visual Studio as the base compiler. `#6424 <https://github.com/conan-io/conan/pull/6424>`_
- Feature: Allow defining an extra user-defined properties .props file in ``MSBuild`` build helper. `#6374 <https://github.com/conan-io/conan/pull/6374>`_ . Docs `here <https://github.com/conan-io/docs/pull/1533>`__
Expand Down
2 changes: 1 addition & 1 deletion conf.py
Expand Up @@ -43,7 +43,7 @@
# The short X.Y version.
version = "1.34"
# The full version, including alpha/beta/rc tags.
release = u'1.34.0'
release = u'1.34.1'

dir_path = os.path.dirname(os.path.realpath(__file__))
if not os.path.exists(os.path.join(dir_path, "versions.json")):
Expand Down
File renamed without changes
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/artifactory/conan-artifactory_setme_up.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/artifactory/conan-artifactory_token.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 13 additions & 6 deletions mastering/conditional.rst
Expand Up @@ -3,25 +3,26 @@
Conditional settings, options and requirements
==============================================

Remember, in your ``conanfile.py`` you also have access to the options of your dependencies,
and you can use them to:
Remember, in your ``conanfile.py`` you can use the value of your options to:

* Add requirements dynamically
* Change values of options
* Change values of other options
* Assign values to options of your requirements

The **configure** method might be used to hardcode dependencies options values.
The ``configure()`` method might be used to hardcode values for options of the requirements.
It is strongly discouraged to use it to change the settings values. Please remember that ``settings``
are a configuration *input*, so it doesn't make sense to modify it in the recipes.

Also, for options, a more flexible solution is to define dependencies options values in the ``default_options``,
not in the ``configure()`` method, as this would allow to override them. Hardcoding them in the ``configure()``
method won't allow that and thus won't easily allow conflict resolution. Use it only when it is absolutely
not in the ``configure()`` method. Setting the values in ``configure()`` won't allow to override them and it
will make really hard (even impossible) to resolve some conflicts. Use it only when it is absolutely
necessary that the package dependencies use those options.

Here is an example of what we could do in our **configure method**:

.. code-block:: python
class Recipe(ConanFile):
...
requires = "poco/1.9.4" # We will add OpenSSL dynamically "openssl/1.0.2t"
...
Expand All @@ -48,6 +49,12 @@ Here is an example of what we could do in our **configure method**:
else:
self.requires("openssl/1.0.2u")
def build(self):
# We can check the final values of options of our requirements
if self.options['poco'].that_option != "bar":
raise ConanInvalidConfiguration("Who modified this option?!")
Constrain settings and options
------------------------------

Expand Down

0 comments on commit bac1d95

Please sign in to comment.