upload.tool not used in custom boards.txt? I've created a custom board in boards.txt and changed the upload.tool to a nonsense value, and yet when I do an upload the IDE still calls avrdude.

For example, In boards.txt I've changed the line...

tile.upload.tool=avrdude


...to...

tile.upload.tool=nogood


...and added these lines to platform.txt...

# NOGOOD programmer

tools.nogood.cmd="dir"
tools.nogood.program.pattern="dir" 
tools.nogood.upload.pattern="dir" 


...and reloaded the IDE and hit upload.. and it still runs AVRDUDE. 

(Note that my board ID is tile)

I've verified that I am editing the correct boards.txt by changing the cores key to nogood and this does generate an error.

Is boardid.upload.tool not the right place to change the recipe called when upload is hit?

How/where does the boardid.upload.tool=toolname key in boards.txt get mapped to the tools.toolname.upload.pattern key in platforms.txt?

I am using Arduino IDE version 1.8.3.

The custom boards.txt is in the directory Arduino\hardware\Move38\avr.

This full custom platform package is here...

https://github.com/bigjosh/Move38-Arduino-Platform

Thanks!
From https://github.com/bigjosh/Move38-Arduino-Platform#programmers:


  Since there is no bootloader in a tile, all code must be programmed rather than downloaded.


When you do an "Upload Using Programmer", the tool is specified in the {programmerID}.program.tool property in programmers.txt. The {boardID}.upload.tool value is only used for a standard upload.

Since programmers.txt is not in your hardware package, this makes it very inconvenient to customize. What's worse is that the platform.txt associated with the selected programmer is used, rather than the one in your hardware package, for "Upload Using Programmer". For this reason, some popular hardware packages include their own copies of all standard programmers. The downside of this is it really clutters up the Tools > Programmer menu if you have multiple of these packages installed.