Conan Repositories

NEW IN 3.22

Introduction

Conan is decentralized, portable, extensible and table package manager for C/C++ projects with client-server architecture. Conan allows to encapsulate C/C++ project dependencies, distribute them, and consume them in other projects. This involves the complex challenges of transitive dependencies, versioning, licensing, and so forth. It works across Linux, OSX and Windows platforms

This format is disabled by default in NXRM Pro HA-C environments.

Supported features

  • Repository types - Proxy

Conan client setup

Using the pip tool is the recommended way to install the Conan client:

pip install conan

To discover different approaches or any additional details of Conan client installation use Conan documentation: https://docs.conan.io/en/latest/installation.html

Proxying Conan Repositories

You can set up a Conan proxy repository to access a remote repository location, for example https://conan.bintray.com (the default one).

To proxy a Conan repository, you simply create a new conan (proxy) as documented in Repository Management in detail.

Minimal configuration steps are:

  • Define  Name
  • Define URL for Remote storage e.g. https://conan.bintray.com
  • Select a Blob store for Storage
  • If you are going use HTTPs protocol for Conan and your NXRM is configured to use a self-signed certificate then it is needed to add your certificate into trusted list. It can be done by adding certificate into <user_home> /.conan/cacert.pem file. It is simple txt file that can be changed by any text editor. 
  • If you disabled Anonymous access, then it is needed to enable the  Conan Bearer Token Realm (via Administration → Security → Realms): add  Conan Bearer Token Realm.  Details on activing realms can be found here.

Conan client configuration to work with NXRM

To avoid bypassing Conan NXRM repository and stop Conan package installation directly from remote servers, you need to delete the default remotes. To delete any remote server use the command:

conan remote remove <remote name>

where <remote name> is the remote's name.

For example, to delete the default one:

conan remote remove conan-center

To add new remote with link to NXRM Conan repository use the command:

conan remote add <remote name> <remote URL> <SSL flag>

Where

  • <remote name> is remote name, can be equal to NXRM Conan repository name
  • <remote URL> is NXRM Conan repository URL
  • <SSL flag> is true to enable HTTPs protocol or false to enable HTTP protocol

For example, to add Conan proxy repository with conan-proxy name:

conan remote add conan-proxy http://localhost:8081/repository/conan-proxy/ false

To change remote configuration (change remote URL or enable/disable SSL) use the command:

conan remote update <remote name> <remote URL> <SSL flag>

You can review list of configured remotes by following the command:

conan remote list