+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.