Skip to content

Support several package_{third_party}_index.json with the same 'package.name' vendor #2905

Description

@jaenrig-ifx

Describe the request

Arduino IDE support for different third party cores of the same vendor (packages[0].name) under different package_{third_party}_index.json.

Describe the current behavior

We have separate package indexes for each of the current Infineon maintained cores:

They both share the most of the initial key-value pairs before the platforms list :

{
  "packages": [
    {
      "name": "infineon",
      "maintainer": "Infineon Technologies AG",
      "websiteURL": "https://xmc-arduino.readthedocs.io/en/latest/index.html",
      "email": "maker@infineon.com",
      "platforms": [ 
      ...
{
  "packages": [
    {
      "name": "infineon",
      "maintainer": "Infineon Technologies AG",
      "websiteURL": "https://arduino-core-psoc6.readthedocs.io/en/latest/index.html",
      "email": "maker@infineon.com",
      "platforms": [ 
      ... 

The only one which is different is the websiteURL.

That leads to the following behavior in the IDE:

  1. A search for one of the platforms.architecture will show both entries:

    Image
  2. When clicking on the "More Info" link, both point to the same "websiteURL".

Arduino IDE version

2.3.8

Operating system

Windows

Operating system version

Windows 11 Version 23H2 (OS Build 22631.6936)

Additional context

We could of course create a single package_xxx_index.json file with both boards together, but it will ease the maintainability to keep each core releases separately.

From a arduino-cli perspsective, we still want to have each board "vendor:arch:board" with vendor=infineon. So having two different packages[0].name would not be desired.

Maybe this does not require to implement such a feature, and we can find other effective ways. We are happy to hear about them 😊.

Thanks!

Issue checklist

  • I searched for previous requests in the issue tracker
  • I verified the feature was still missing when using the latest nightly build
  • My request contains all necessary details

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions