| if [ -z "$1" ]; then |
| echo "Usage: pull_hdfs [path_to_hdfs_git_root]" |
| exit 1; |
| fi |
| if [ ! -d "$1" ]; then |
| echo "$1 is not a directory" |
| fi |
| if [ ! -d "$1/hadoop-hdfs-project" ]; then |
| echo "$1 is not the root of a hadoop git checkout" |
| fi |
| |
| HADOOP_ROOT=$1 |
| echo HADOOP_ROOT=$HADOOP_ROOT |
| OUT=$(readlink -m `dirname $0`) |
| echo OUT=$OUT |
| TS=$OUT/imported_timestamp |
| |
| cd $HADOOP_ROOT && |
| mvn -pl :hadoop-hdfs-native-client -Pnative compile -Dnative_make_args="copy_hadoop_files" |
| (date > $TS; git rev-parse --abbrev-ref HEAD >> $TS; git log -n 1 >> $TS; \ |
| echo "diffs: --------------" >> $TS; git diff HEAD >> $TS; \ |
| echo " --------------" >> $TS) |
| cd $OUT && |
| #Delete everything except for pull_hdfs.sh and imported_timestamp |
| find . ! -name 'pull_hdfs.sh' ! -name 'imported_timestamp' ! -name '.' ! -name '..' -exec rm -rf {} + && |
| cp -R $HADOOP_ROOT/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfspp . && |
| cp -R $HADOOP_ROOT/hadoop-hdfs-project/hadoop-hdfs-native-client/target/main/native/libhdfspp/extern libhdfspp/ && |
| cd libhdfspp && |
| tar -czf ../libhdfspp.tar.gz * && |
| cd .. && |
| rm -rf libhdfspp && |
| date >> $TS |