We have some optional build components which don't get built if they are not installed on the build machine. One of those components is fuse_dfs. Another is the snappy support in libhadoop.so.
Unfortunately, since these components are silently ignored if they are not present, it's easy to unintentionally create an incomplete build.
We should add two flags, -Drequire.fuse and -Drequire.snappy, that do exactly what the names suggest. This will make the build more repeatable. Those who want a complete build can specify these system properties to maven. If the build cannot be created as requested, it will be a hard error.