1. change project structure to maven, move all code from hadoop-native-core to hadoop-native-core/src/main/native
2. change build dir from hadoop-native-core to hadoop-native-core/target/native
3. add pom artifact hadoop-native-core, make according changes in hadoop-dist/pom.xml hadoop-project/pom.xml and pom.xml
4. add a new assembly hadoop-native-core-dist to copy .h files only.
This is a little tricky. We don't want to copy our internal header files (they can't help anyone but us.) We will eventually want to copy the hdfs.h public API header file, but that's about it for headers.
5. add a new profile: native-core to activate hadoop-native-core compile/test/package, I didn't reuse -Pnative, cause currently -Pnative can't work on MacOSX.
I'd prefer to stick with -Pnative, since that's the profile everyone already knows about. Changing the way all of our build slaves (apache and otherwise) operate is a huge undertaking, not to mention READMEs, howtos, web pages, etc. If there is stuff that doesn't work on MacOS, we should just fix that stuff. In the meantime, how about running Maven from the hadoop-native-core directory... that way if there is stuff in other subprojects that doesn't work on MacOS, you won't have to worry about it?