Private library upload Issue

Hi - Im new to Particle and Im running into problems getting this Arduino library to work with Particle - can anyone offer me assistance in how to tweak it.

when trying to upload the library for a Grove - VOC and eCO2 Gas Sensor(SGP30) - from https://github.com/Seeed-Studio/SGP30_Gas_Sensor, Ive had errors as follows

Library is not valid. name must only contain letters, numbers, dashes, underscores and plus signs.
Library is not valid. LICENSE is missing
main header is missing

Can someone please lead me through this process please?

Have you tried this library
https://build.particle.io/libs/Adafruit_SGP30/1.0.0/tab/Adafruit_SGP30.cpp

The reason for the name issue probably comes from this entry in library.properties

name=Grove SGP30_Gas_Sensor

The blank after Grove is violating the naming scheme.
Your library must also feature a LICENSE file, a license entry in library.properties and a header file that carries the same name as stated in the library.properties file.

The library source files should also reside in a src folder rather than in the library “root”.

Thank you heaps for your rapid answer. Indeed it does seem that the Adafruit library works - However I was keen to get the one provided by Seeed up an running - I went through your suggestions which were very helpful - it still says that the licence is missing when I try and upload … event though I have included a LICENCE.txt file (just some random characters in that file) and a reference to that in the .properties file as follows
licence=LICENCE.txt.

You can use particle library create to get a library outline which you can use as a basis for your own library or you just download a copy of a public library via particle library view.

However, your license file needs to be called LICENSE (American spelling :see_no_evil:) without the .txt extension :wink:

ah yes awesome - I got a step closer noe - however on upload it says: ‘You are not the owner of this library’

You cannot upload a library when the name is already taken even for a private library. Unfortunately there is no other way of testing whether a name has been taken by someone else privately than trying to upload and running into that error message.

That’s why it’s always a better idea to not use a common name that may be used by others when you are not intending to publish the library too as you’d block anybody else from publishing it with that name.
But best practices are not adhered to by everybody, unfortunately :pensive:

1 Like