"mvn clean package -Dsrc" is supposed to create a source tarball in hadoop-dist/target/ but some interactions with the clean target will prevent this to happen.
The following would happen:
- -Dsrc makes maven create a source tarball in hadoop-dist/target/ for the root module as well as each submodule
1. The root module would first create a source tarball correctly in hadoop-dist/target/
2. Each submodule will also create a source tarball for their module in <MODULE>/hadoop-dist/target/. But not before executing the clean target and therefore deleting the main source tarball created at 1.