diff --git a/_themes/conan/static/conan-days-2020.png b/_themes/conan/static/conan-days-2020.png index 252ad96fba42..c06b0ef64a51 100644 Binary files a/_themes/conan/static/conan-days-2020.png and b/_themes/conan/static/conan-days-2020.png differ diff --git a/changelog.rst b/changelog.rst index ef10dcfe6156..d14ad9851a75 100644 --- a/changelog.rst +++ b/changelog.rst @@ -18,7 +18,7 @@ Check https://github.com/conan-io/conan for issues and more details about develo .. important:: - Conan 1.21 shouldn't break any existing 1.0 recipe or command line invocation. If it does, please submit a report on GitHub. + Conan 1.22 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`. 1.22.2 (13-Feb-2020) @@ -77,6 +77,16 @@ Check https://github.com/conan-io/conan for issues and more details about develo - Bugfix: :command:`conan inspect` now is able to properly show name and version coming from ``set_name()`` and ``set_version()`` methods. `#6214 `_ +1.21.3 (03-Mar-2020) +-------------------- + +- Bugfix: Fixing locking system for metadata file so it can be accessed concurrently. `#6543 `_ +- Bugfix: Manage the dirty state of the cache package folder with conan export-pkg. `#6517 `_ +- Bugfix: BugFix: Add quotes to virtualenv scripts, so they don't crash in pure sh shells. `#6516 `_ +- Bugfix: Upload was silently skipping exceptions, which could result in packages not uploaded, but user not realizing about the error. `#6515 `_ +- BugFix: Add ``system_libs`` to ``premake`` generator. `#6496 `_ + + 1.21.2 (31-Jan-2020) -------------------- diff --git a/conf.py b/conf.py index 7f7113d002ec..7b3afdcb685a 100644 --- a/conf.py +++ b/conf.py @@ -388,6 +388,9 @@ # A list of regular expressions that match URIs that should not be checked when doing a linkcheck build. linkcheck_ignore = [r'http://localhost:\d+'] +linkcheck_workers = 30 +linkcheck_timeout = 90 +linkcheck_retries = 2 # copy legacy redirects diff --git a/howtos/generic_ci_artifactory.rst b/howtos/generic_ci_artifactory.rst index 304de6043462..8c746df12e57 100644 --- a/howtos/generic_ci_artifactory.rst +++ b/howtos/generic_ci_artifactory.rst @@ -7,7 +7,7 @@ Uploading the BuildInfo ----------------------- If you are using :ref:`Jenkins with Conan and Artifactory`, along with the -`Jenkins Artifactory Plugin `_, +`Jenkins Artifactory Plugin `_, any Conan package downloaded or uploaded during your build will be automatically recorded in the BuildInfo json file, that will be automatically uploaded to the specified Artifactory instance. @@ -18,7 +18,7 @@ Extracting build-info from the Conan trace log ############################################## 1. Before calling Conan the first time in your build, set the environment variable `CONAN_TRACE_FILE` to a - file path. The generated file will contain the `BuildInfo json `_. + file path. The generated file will contain the `BuildInfo json `_. 2. You also need to create the :ref:`artifacts.properties` file in your Conan home containing the build information. All this properties will be automatically associated to all the published artifacts. diff --git a/howtos/manage_shared_libraries/rpaths.rst b/howtos/manage_shared_libraries/rpaths.rst index a08904d9ceea..d29cf7210d12 100644 --- a/howtos/manage_shared_libraries/rpaths.rst +++ b/howtos/manage_shared_libraries/rpaths.rst @@ -148,5 +148,5 @@ And your final application can follow this layout: You could move the entire application folder to any location and the shared libraries will be located correctly. -.. _`CMake RPATH handling`: https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling +.. _`CMake RPATH handling`: https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling .. _`CMAKE_BUILD_WITH_INSTALL_RPATH`: https://cmake.org/cmake/help/v3.0/variable/CMAKE_BUILD_WITH_INSTALL_RPATH.html diff --git a/integrations/ci/appveyor.rst b/integrations/ci/appveyor.rst index 739e3d3acf67..1330f664ccdb 100644 --- a/integrations/ci/appveyor.rst +++ b/integrations/ci/appveyor.rst @@ -40,22 +40,22 @@ Create an ``appveyor.yml`` file and paste this code in it: - x64 install: - - cmmd: echo "Downloading conan..." - - cmmd: set PATH=%PATH%;%PYTHON%/Scripts/ - - cmmd: pip.exe install conan - - cmmd: conan user # Create the conan data directory - - cmmd: conan --version + - cmd: echo "Downloading conan..." + - cmd: set PATH=%PATH%;%PYTHON%/Scripts/ + - cmd: pip.exe install conan + - cmd: conan user # Create the conan data directory + - cmd: conan --version build_script: - - cmmd: mkdir build - - cmmd: conan install . -o gtest:shared=True - - cmmd: cd build - - cmmd: cmake ../ -DBUILD_TEST=TRUE -G "Visual Studio 14 2015 Win64" - - cmmd: cmake --build . --config Release + - cmd: mkdir build + - cmd: conan install . -o gtest:shared=True + - cmd: cd build + - cmd: cmake ../ -DBUILD_TEST=TRUE -G "Visual Studio 14 2015 Win64" + - cmd: cmake --build . --config Release test_script: - - cmmd: cd bin - - cmmd: encryption_test.exe + - cmd: cd bin + - cmd: encryption_test.exe Appveyor will install the **Conan** tool and will execute the **conan install** command. diff --git a/integrations/ci/jenkins.rst b/integrations/ci/jenkins.rst index e40c4728f383..ce33e526d1c7 100644 --- a/integrations/ci/jenkins.rst +++ b/integrations/ci/jenkins.rst @@ -121,6 +121,6 @@ and then upload it to Artifactory. We also upload the `build information`_: .. |jenkins_stages_creator| image:: ../../images/conan-jenkins_stages_creator.png .. _`Artifactory`: https://jfrog.com/artifactory/ .. _`Jenkins Artifactory Plugin`: -.. _`here how to install the plugin`: https://www.jfrog.com/confluence/display/RTF/Jenkins+Artifactory+Plug-in -.. _`here you can check the full documentation about the DSL`: https://www.jfrog.com/confluence/display/RTF/Working+With+Pipeline+Jobs+in+Jenkins -.. _`build information`: https://www.jfrog.com/confluence/display/RTF/Build+Integration +.. _`here how to install the plugin`: https://www.jfrog.com/confluence/display/JFROG/Jenkins+Artifactory+Plug-in +.. _`here you can check the full documentation about the DSL`: https://www.jfrog.com/confluence/display/JFROG/Working+With+Pipeline+Jobs+in+Jenkins +.. _`build information`: https://www.jfrog.com/confluence/display/JFROG/Build+Integration diff --git a/integrations/cross_platform/qnx_neutrino.rst b/integrations/cross_platform/qnx_neutrino.rst index 063c4a5d30aa..0aa430bf53ca 100644 --- a/integrations/cross_platform/qnx_neutrino.rst +++ b/integrations/cross_platform/qnx_neutrino.rst @@ -3,7 +3,7 @@ |qnx_neutrino_logo| QNX Neutrino ________________________________ -It's possible to cross-compile packages for `QNX Neutrino `__ operating +It's possible to cross-compile packages for `QNX Neutrino `__ operating with Conan. Conan has support for QNX Neutrino 6.x and 7.x. The following architectures are supported: diff --git a/integrations/deployment/flatpak.rst b/integrations/deployment/flatpak.rst index 505241e43d70..12152cd68c4d 100644 --- a/integrations/deployment/flatpak.rst +++ b/integrations/deployment/flatpak.rst @@ -4,7 +4,7 @@ Flatpak ------- `Flatpak `_ (former ``xdg-app``) is a package management system to distribute desktop applications for Linux. It is based on `OSTree `_. -Flatpak is `RedHat `_ initiative. +Flatpak is `RedHat `_ initiative. Unlike :ref:`AppImage `, usually applications are distributed via `flathub `_ store, and require a special runtime to install applications on target machines. diff --git a/reference/env_vars.rst b/reference/env_vars.rst index f6b89d033e62..8d10f10b170d 100644 --- a/reference/env_vars.rst +++ b/reference/env_vars.rst @@ -42,7 +42,7 @@ the :ref:`CMake build tool`: .. seealso:: - See `CMake cross building wiki `_ + See `CMake cross building wiki `_ .. _conan_bash_path_env: diff --git a/reference/tools.rst b/reference/tools.rst index 77e98c319e1f..3193eda61fb5 100644 --- a/reference/tools.rst +++ b/reference/tools.rst @@ -300,8 +300,9 @@ tools.get() .. code-block:: python - def get(url, filenname="", md5="", sha1="", sha256="", keep_permissions=False, pattern=None, - verify=True, retry=2, retry_wait=5, overwrite=False, auth=None, headers=None) + def get(url, md5='', sha1='', sha256='', destination=".", filename="", keep_permissions=False, + pattern=None, requester=None, output=None, verify=True, retry=None, retry_wait=None, + overwrite=False, auth=None, headers=None) Just a high level wrapper for download, unzip, and remove the temporary zip file once unzipped. You can pass hash checking parameters: ``md5``, ``sha1``, ``sha256``. All the specified algorithms will be checked. If any of them doesn't match, it will raise a @@ -317,12 +318,14 @@ Just a high level wrapper for download, unzip, and remove the temporary zip file Parameters: - **url** (Required): URL to download. - - **filename** (Optional, Defaulted to ```""``): Specify the name of the compressed file if it cannot be deduced from the URL. - **md5** (Optional, Defaulted to ``""``): MD5 hash code to check the downloaded file. - - **sha1** (Optional, Defaulted to ``""``): SHA1 hash code to check the downloaded file. - - **sha256** (Optional, Defaulted to ``""``): SHA256 hash code to check the downloaded file. + - **sha1** (Optional, Defaulted to ``""``): SHA-1 hash code to check the downloaded file. + - **sha256** (Optional, Defaulted to ``""``): SHA-256 hash code to check the downloaded file. + - **filename** (Optional, Defaulted to ```""``): Specify the name of the compressed file if it cannot be deduced from the URL. - **keep_permissions** (Optional, Defaulted to ``False``): Propagates the parameter to :ref:`tools_unzip`. - **pattern** (Optional, Defaulted to ``None``): Propagates the parameter to :ref:`tools_unzip`. + - **requester** (Optional, Defaulted to ``None``): HTTP requests instance + - **output** (Optional, Defaulted to ``None``): Stream object. - **verify** (Optional, Defaulted to ``True``): When False, disables https certificate validation. - **retry** (Optional, Defaulted to ``2``): Number of retries in case of failure. Default is overriden by ``general.retry`` in the *conan.conf* file or an env variable ``CONAN_RETRY``. @@ -378,12 +381,15 @@ tools.download() .. code-block:: python - def download(url, filename, verify=True, out=None, retry=2, retry_wait=5, overwrite=False, - auth=None, headers=None) + def download(url, filename, verify=True, out=None, retry=None, retry_wait=None, overwrite=False, + auth=None, headers=None, requester=None, md5='', sha1='', sha256='') Retrieves a file from a given URL into a file with a given filename. It uses certificates from a list of known verifiers for https downloads, but this can be optionally disabled. +You can pass hash checking parameters: ``md5``, ``sha1``, ``sha256``. All the specified algorithms will be checked. +If any of them doesn't match, it will raise a ``ConanException``. + .. code-block:: python from conans import tools @@ -402,13 +408,16 @@ downloads, but this can be optionally disabled. # Pass some header tools.download("http://someurl/somefile.zip", "myfilename.zip", headers={"Myheader": "My value"}) + # Download and check file checksum + tools.download("http://someurl/somefile.zip", "myfilename.zip", md5="e5d695597e9fa520209d1b41edad2a27") + Parameters: - **url** (Required): URL to download - **filename** (Required): Name of the file to be created in the local storage - **verify** (Optional, Defaulted to ``True``): When False, disables https certificate validation. - **out**: (Optional, Defaulted to ``None``): An object with a ``write()`` method can be passed to get the output. ``stdout`` will use if not specified. - - **retry** (Optional, Defaulted to ``2``): Number of retries in case of failure. Default is overriden by ``general.retry`` + - **retry** (Optional, Defaulted to ``1``): Number of retries in case of failure. Default is overriden by ``general.retry`` in the *conan.conf* file or an env variable ``CONAN_RETRY``. - **retry_wait** (Optional, Defaulted to ``5``): Seconds to wait between download attempts. Default is overriden by ``general.retry_wait`` in the *conan.conf* file or an env variable ``CONAN_RETRY_WAIT``. @@ -417,6 +426,10 @@ Parameters: - **auth** (Optional, Defaulted to ``None``): A tuple of user and password to use HTTPBasic authentication. This is used directly in the ``requests`` Python library. Check other uses here: https://requests.readthedocs.io/en/master/user/authentication/#basic-authentication - **headers** (Optional, Defaulted to ``None``): A dictionary with additional headers. + - **requester** (Optional, Defaulted to ``None``): HTTP requests instance + - **md5** (Optional, Defaulted to ``""``): MD5 hash code to check the downloaded file. + - **sha1** (Optional, Defaulted to ``""``): SHA-1 hash code to check the downloaded file. + - **sha256** (Optional, Defaulted to ``""``): SHA-256 hash code to check the downloaded file. .. _tools_ftp_download: diff --git a/systems_cross_building/cross_building.rst b/systems_cross_building/cross_building.rst index 0c8379fadf6c..3835e4e6268d 100644 --- a/systems_cross_building/cross_building.rst +++ b/systems_cross_building/cross_building.rst @@ -160,7 +160,7 @@ A *bin/example.exe* for Win64 platform has been built. Windows to Raspberry Pi (Linux/ARM) ................................... -- Install the toolchain: http://gnutoolchains.com/raspberry/ +- Install the toolchain: https://gnutoolchains.com/raspberry/ You can choose different versions of the GCC cross compiler. Choose one and adjust the following settings in the profile accordingly. diff --git a/uploading_packages/remotes.rst b/uploading_packages/remotes.rst index 4cd28fe2f4c4..13b33ddaf0a2 100644 --- a/uploading_packages/remotes.rst +++ b/uploading_packages/remotes.rst @@ -23,7 +23,7 @@ For private development: - **Artifactory Pro**: Artifactory is the binary repository manager for all major packaging formats. It is the recommended remote type for enterprise and professional package management. Check the `Artifactory documentation`_ for more information. For a comparison between Artifactory editions, - check the `Artifactory Comparison Matrix `_. + check the `Artifactory Comparison Matrix `_. - **Conan server**: Simple, free and open source, MIT licensed server that comes bundled with the Conan client. Check :ref:`running_your_server` for more information. @@ -105,4 +105,4 @@ Conan Community .. _`conan-center`: https://bintray.com/conan/conan-center -.. _Artifactory documentation: https://www.jfrog.com/confluence/display/RTF/Welcome+to+Artifactory +.. _Artifactory documentation: https://www.jfrog.com/confluence/display/JFROG/JFrog+Artifactory