Hello PlatformIO Community!
Our team has developed a custom PlatformIO platform for the Cortex M4 cores in an NXP iMX8 processor. To accompany this custom platform, we’ve also developed a custom framework package that contains the SDK that NXP supplies for this part.
We host both the platform and framework on our private github server. Our custom platform’s platform.json includes the following:
"packageRepositories": [
"https://dl.bintray.com/platformio/dl-packages/manifest.json",
"http://dl.platformio.org/packages/manifest.json",
{
"our-custom-framework": [
{
"url": "git+https://github.com/[the_rest_of_our_repo_url].git",
"version": "x.y.z",
"system": "*"
}
]
}
],
For awhile, this worked just fine, but with the 5.x release, PlatformIO decided to remove the packageRepositories feature. From the 5.0.0 release notes:
“Dropped support for “packageRepositories” section in “platform.json” manifest (please publish packages directly to the registry)”
Up until this week, we’ve been working around this limitation by continuing to use PlatformIO 4.3.x. However, we’ve recently encountered issues where new installations of PlatformIO 4.3.x will fail to install packages with an error such as:
PackageManager: Installing toolchain-gccarmnoneeabi @ >=1.8
Error: Detected unknown package 'toolchain-gccarmnoneeabi'
After some initial research, I’ve developed a theory that 4.3.x may no longer be supported. This forces my team into a problem, because if the packageRepositories feature has been permanently deprecated and 4.3.x is no longer supported, then it would appear that my team has no choice but to:
publish packages directly to the registry
However, this also presents us with a problem, because our custom package contains proprietary software that is licensed by NXP, and this license restricts the contained software from being hosted in any sort of public forum.
So, my questions are:
- Is the packageRepositories feature truly, permanently deprecated?
- Will PlatformIO 4.3.x continue to be supported, or has it also been deprecated?
- If both of the above are true, is there another way that a custom platform can point to a package that is hosted on a private repository, other than using the PlatformIO registry?
Thank you to anyone who takes the time to read this!
Matt