Configuration file to select library and mbed os versions?

Some libraries are not compatible with the last MBED OS version yet, and some are no longer compatible with the older versions.

How can one set the desired versions to download (or keep) in a configuration file?

I would like the Mbed Studio Desktop Version to stop proposing updates to MBED OS and libraries that are not compatible with the project.

The goal is also to have the configuration file under version control so that the project can be shared between developers and fetched anew from version control with all library versions correctly set.

I looked around quite a bit, but could not find a resource explaining how to do this.

If the repos you’re using are on github, it would be even easier to use git submodules for that.

Bonjour Ladislas - I recognized your name - we’re just one connection away on a well-known network ;-). Thanks for trying to help.

If everything would be under git, that could be an approach.
In practice there are some other competence related complications as well.

On the technical side, the libraries are under mercurial.

Something similar to composer where versions can be set would have been usefull.

I take it that MBED is not proposing this (yet), so I’ll let the trainee work online as he chose to revert to that method.

Bonjour Mario ! :wink:

We had quite the same situation with different scm for the libraries we wanted to use in the project. What we did is:

  • analyse the different libraries, make sure they are the right ones
  • if the source is not github, check is a mirror is available on Github or Gitlab
  • if the scm is not git, check for a mirror as well using git, sometimes they exist
  • look at how frequently the library is updated, if it’s stable and only updated once year or every two days with a lof of bug fixes/new features

In the end, what we did was fork the other project not using github and creating mirrors where we would only add the main releases. This way we had everything we needed in the same place and only one tool (git) to access the content. It’s a bit more work at the beginning but it will perfectly suit your needs.