#!/bin/bash
#
# Setup submodules.
#

# Parameters
DIRNAME="`dirname $0`"

# Usage
function usage {
  echo "Usage: $1 add-submodules <DIR>"
  exit $2
}

# Set puppet folder
if [ -d "puppet" ]; then
  PUPPET_FOLDER="puppet"
else
  PUPPET_FOLDER="."
fi

# Get module list
repos="`grep = $DIRNAME/../.mrconfig | cut -d = -f 2 | cut -d ' ' -f 4`"

# Add submodules
for repo in $repos; do
  module="`basename $repo .git | sed -e s/^puppet-//`"
  if [ ! -d "$PUPPET_FOLDER/modules/$module" ]; then
    echo "Processing puppet module $module..."
    git submodule add -f $repo $PUPPET_FOLDER/modules/$module
  elif [ -e "modules/$module/.git" ]; then
    # The puppet module exists and is a git submodule, so update it
    ( cd $PUPPET_FOLDER/modules/$module && git pull origin master )
  fi
done

# Update all modules
git submodule update --init