I found a reasonable work-around. I can create a function that calls "deploytool -build myproject.prj". In that function, I can do the necessary pre-build steps.
FYI, deploytool appears to run in a separate thread, so you cannot access the success/failure of deploytool, and therefore cannot use this work-around to handle post-build events.