Skip to content

[IDE V2] Introduce a separate metadata manifest file for each project #11753

Closed
@raffaeler

Description

@raffaeler

I am currently using the IDE version 2.0.0 RC3 and this is a feature request.

Proposal

It would be really useful introducing a separate manifest file that defines the context needed from .ino code to properly run.

  • A list of boards that are compatible with the project
  • For each defined board:
    • the board parameters for a specific variant, if any (voltages, bootloaders, programmer settings, etc.)
    • One or more compile time constants (to be used in preprocessor #ifdef macros) to map specific pins, include libraries, etc.
    • the last known good serial port used to connect to the board
  • All the metadata needed to properly define the .zip file defining a library (author, description, tags, etc.)
  • External dependencies (libraries) specifying the exact version. There are often libraries depending on older versions of other libraries that do not work properly.
    Probably a .json file would be the most appropriate choice.

Once the boards for a given project are clearly defined, the current combo box may just list those. And an additional combo box could instead specify the currently available physical ports where the board may be connected to.

Issues addressed

  • ability to work on different boards from different IDE windows
  • ability to roam the code through the cloud on different PCs and still mapping the correct board
  • matching the correct version of the external libraries
  • clearly understand the dependencies of a project
  • avoiding confusion in the community discussions: there are plenty of Arduino code examples on the internet that do not specify the board where the code can be run. This is often source of confusion and useless discussions.

Thank you for the great work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Component: IDEThe Arduino IDEType: DuplicateAnother item already exists for this topicarduino-cliRelated to the arduino-cli toolfeature requestA request to make an enhancement (not a bug fix)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions