Creating Custom Boards for Board Manager

So I figured out my other problem with the compiler which I will post about in the other thread, but the result is that I am now free to use the later version of the avr-gcc compiler.

I can go ahead and just specify "4.9.2-atmel3.5.3-arduino2" in my toolsDependencies, which I see is the latest version as of today. But then when Arduino releases 4.9.2-xx-arduino3 or whatever, I will need to update my package once again.

Browsing through other peoples JSON files, I note two things:

  • Big companies like SparkFun and Adafruit have not specified 4.9.2 yet; if they list anything it's 4.8.1. Could this just be a consequence of the hassle of updating your JSON every time Arduino decides to upgrade which seems to be about every five minutes? Or could it be that they prefer the older compiler for some reason I don't know about?
  • I also notice that many JSONs don't list any toolsDependencies. Could it be that when this value is left blank the IDE will simply use whatever version is active for the currently loaded AVR Boards, which would be dependent on the IDE version?

If #2 is true then it would seem the easiest thing to do from a maintenance standpoint is to leave the entry blank and let the IDE take care of it. But I don't know if that's necessarily the case.

I will do some testing but I wondered if there was a best-practice or guidance on this.