ThrowTheSwitch / Unity

Simple Unit Testing for C
ThrowTheSwitch.org
MIT License
4.02k stars 969 forks source link

PlatformIO failing to parse manifest on install. #722

Open RobertByrnes opened 5 months ago

RobertByrnes commented 5 months ago

This is producable error in GitHub Actions as well as in local install.

I do not know if this is an issue with PlatformIO dependency resolution or with Unity library.json?

Resolving native dependencies... Library Manager: Installing git+https://github.com/ThrowTheSwitch/Unity.git#master git version 2.41.0.windows.1 Cloning into 'C:\Users\robby.platformio.cache\tmp\pkg-installing-t2di71c3'...

Library Manager: Could not parse manifest -> Expecting value: line 1 column 1 (char 0) MissingPackageManifestError: Could not find one of 'library.json, library.properties, module.json' manifest files in the package

This issue can be viewed in the following GitHub Action:

https://github.com/govorox/SSLClient/actions/runs/8637423637/job/23679567024?pr=69

DrewBrandt commented 2 months ago

The issue appears to stem from the header included in the JSON file:

# =========================================================================
#   Unity - A Test Framework for C
#   ThrowTheSwitch.org
#   Copyright (c) 2007-24 Mike Karlesky, Mark VanderVoord, & Greg Williams
#   SPDX-License-Identifier: MIT
# =========================================================================

PlatformIO doesn't recognize the JSON file with this there.

I forked the project here and literally the only change I made was to delete that, and it works.

I also noticed that removing the dependency from the pio ini let pio install the library itself from its registry, which is a working version labelled as 2.6.0 without the JSON header. (deleting the .pio/libdeps/<env> folder may be necessary, not sure)