nicholask:
Thanks for the responses. I did find an example library.properties file and edited it to more or less describe the library I was trying to upload. After that, it did upload and I was able to use it.
Great job! I'm glad you managed to get your library so that it would import.
nicholask:
It's interesting that the stuff in the file was generally informational and didn't seem to include anything that could be required for building a project.
You're correct that it's mostly just informational metadata, which is displayed in the Arduino Library Manager.
The name value is used to name the folder the library is installed to for libraries imported to the Arduino Web Editor or installed via Library Manager in the Arduino IDE.
The version value is appended to the folder name for the Library Manager libraries that are pre-installed in the Arduino Web Editor, since all versions of all libraries are pre-installed.
The author, maintainer, sentence, and paragraph values are just displayed in Library Manager.
The category value is used to limit searches in the Library Manager.
The url value is used to create a "more info" link in Library Manager.
The examples for libraries with an architectures value that doesn't match the architecture of the currently selected board will appear under the File > Examples > INCOMPATIBLE menu in the Arduino IDE. If the library is compiled for a board with an architecture that doesn't match the architectures value, a warning is displayed. When multiple libraries contain a file that matches the #include directive, the library with an architectures value matching that of the currently selected is given preference (though other factors are also used).
The includes value determines which files #include directives will be automatically added to the sketch for when you select the library from the Sketch > Include Library menu in the Arduino IDE, or click the "Include" button in the Arduino Web Editor. If that field is not defined, #include directives for all header files in the library are added.
The dot_a_linkage, precompiled, and ldflags fields definitely do affect compilation, but these are not very widely used due to being fairly new, complex, and only useful in rare circumstances.
nicholask:
Also interesting that the library still works when I'm using the resident IDE on my PC. Guess it's sort of grandfathered.
That's correct. The library.properties file is a relatively recent feature. Up until a few years ago, not a single Arduino library had a library.properties file, and you will find many libraries that still don't have this file. If the Arduino IDE didn't offer backwards compatibility for the old libraries, it would cause a lot of problems, and there is really no reason not to support the old format.
There is a new 1.5 library format where the source files are stored in the src subfolder of the library folder, and with this format the library.properties file in the root of the repository is mandatory for the Arduino IDE to recognize it as a valid library. However, the Arduino IDE does not require a library.properties file for libraries in the 1.0 library format, where there is at least one header file in the root of the library folder. That file is all the Arduino IDE needs to recognize the folder as containing a valid library.
I'm not sure whether the Arduino Web Editor's requirement for 1.0 format libraries to have a library.properties file is intentional or a bug and whether it has always been this way, or is a recent change. I haven't heard of this problem before now. I did send a message about this thread to the developers who do the Arduino Web Editor, so it's been brought to their attention at least.
nicholask:
I was informed that I've exceeded my maximum upload space of 100 MB by having 127 MB used. Actually I've uploaded one sketch of about 20 kB and one library.
nicholask:
Next after about four attempts at compiling, I got a message saying I've exceeded the maximum number of compiles in a day.
I'm sorry to hear you're having so many problems with the Arduino IDE. Some library authors do put huge files in their libraries, like a PDF file or high resolution images. In this age of cheap hard drives and high bandwidth Internet connections, you wouldn't really notice a few hundred megabytes in a library installed on your PC, but it can cause you to hit the Arduino Web Editor's 100 MB limit very quickly, even though the actual source files of the sketches and libraries you're using are only a tiny fraction of the disk space.
I've never hit either of these limits, but my use of the Arduino Web Editor is only to help people who are having problems with it, and I try to clear out my sketchbook and custom libraries on a regular basis since I don't need them after resolving each support request.
There are momentary glitches from time to time with the Arduino Web Editor, but these are usually fixed quite quickly, so it's worth checking back after a while. The response time will tend to be longer for issues that occur on a weekend, since the development team can't even begin to investigate until the start work on Monday. So you might want to check back after a little while to see if the problem has magically fixed itself.