Conan Repositories

NEW IN RELEASE 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 Window s platforms

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

Supported features

  • Repository types - Proxy

Conan client setup

The pip tool is 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 command:

conan remote add <remote name> <remote URL> <SSL flag>
  • <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 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