+1 to having the mentioned dependencies be exempt pre-reqs. The only code we would want to distribute is client code that interfaces with pre-existing systems on user's machines. The version and setup of those frameworks on the user's machine will be entirely at their own discretion and will require their own installation.
The GeoTrellis dependency that Jim mentions deals with a transitive dependency of spark that our build process depends on. This gets a bit more tricky since the code we would be shipping with would not be the actual Spark system (that would be user installed), but the client code to interact with that system. I believe in Spark's case they don't make a distinction between the two, so client code pulls down a lot of dependencies what would otherwise be unneeded because they would be supplied by the installation. If the pre-req was exempt, and #3 of the benefits above holds, then that would certainly take a burden off of us for having to be responsible for transitive dependencies of the Apache Spark system that are pulled down by our build process.