Closed per1234 closed 6 years ago
Hi! I am glad you find the site useful.
I am not sure it would be very useful for (most) users to be able to distinguish between AVR
and avr
? It wasn't the intension of the developer to make them different things.
Perhaps if I make a custom page, to help you hunt down and fix the bad data?
I can see your point that combining different capitalizations of architecture values is a reasonable action considering the intended use case ("I'm looking for libraries that run on AVR").
After rejecting that suggestion, an aesthetic issue remains: The automatic capitalization of the first letter of the architecture value just looks wrong to me. I would suggest that it should either be all caps (as is generally the standard for the manufacturer spelling) or all lowercase (which is the convention Arduino has established). I suppose the aesthetic issue is fairly subjective and certainly the current system works well but it's worth considering.
Perhaps if I make a custom page, to help you hunt down and fix the bad data?
That's a very kind offer! I would certainly use it from time to time. Currently I do a quick review of each library when it is submitted for inclusion but that doesn't allow me to catch issues that are introduced in a later release. I also do an occasional search through the JSON file for the common miscapitalizations of the architectures
value but that's not very efficient. So I would welcome anything you want to do to make it easier to find problems but of course what you've already done is already a great contribution so whether or not you do anything more I am already grateful.
I tried changing them to Uppercase but they looked a bit odd - so I have changed them to lowercase: 29f7457f14672b5fa01145d9bedad638a067a0b1
Finally got round to make this page: https://www.arduinolibraries.info/architecture-variants.html
There are an ever increasing number of architectures listed - many with only a small number of libraries.
I guess 'AVR' should be 'avr'? I am not sure why people are using 'atmelavr' - maybe because it is a platform.io value?
Thanks so much! I used it to find 8 libraries with architecture value case that clearly causes problems. I'm working on PRs to get those fixed right now.
I don't know why they do the atmelavr
and atmelsam
thing but all of those also use the avr
or sam
as well so it does no harm.
There is also the stm32
vs. STM32
thing but I found one hardware package that uses each case and have no experience with STM32 so I'll assume they know what they're doing.
I'll go ahead and close this issue now since I think everything we discussed has been resolved.
The Arduino IDE's handling of the library.properties
architectures
property is case sensitive (i.e. avr != Avr) but arduinolibraries.info automatically capitalizes the first letter of each item in the "By Architecture" list.Architecture values with different capitalization should not be combined in this list as they are actually not treated as the same architectures by the Arduino IDE. For example, here we have a library that had the
architectures
value incorrectly defined asAVR
in the latest release: https://github.com/qub1750ul/Arduino_SoftwareReset/blob/v2.0.0/library.properties#L9 while many others correctly have theirarchitectures
value set toavr
. This should cause your "By Architectures" list to contain an entry forAVR
as well asavr
yet they are currently combined underAvr
.I have found this project to be extremely useful for easily finding libraries that have errors in their library.properties files so I can submit pull requests to get these issues fixed. Thanks!