I was combing through Bazel <https://bazel.build> (google's build tool) and found a concept called iJar <https://github.com/bazelbuild/bazel/tree/master/third_party/ijar> iJar is basically a stripped out version of the Jar removing everything but the public method signatures (very stripped out byte code jar).
Their build tool uses iJars in determining if upstream dependencies can be skipped to be rebuilt. The idea being: if the interface (iJar) of the current project hasn't changed (SHA), there's no need to rebuild upstream dependencies since any possible method they'd have used did not change. My guess is this would be a good way to speed up "-amd" (also-make-dependents) by quickly stopping the build based on the iJar. Could this be done as a maven extension? Farid Zakaria