
set -e

MONGOVERSION=$(mongod --version | sed -n 's/.*v\([0-9]\+\.[0-9]\+\)\..*/\1/p')
MONGOMAJOR=$(echo $MONGOVERSION | sed 's/\([0-9]\+\)\..*/\1/')
MONGOMINOR=$(echo $MONGOVERSION | sed 's/[0-9]\+\.\([0-9]\+\)/\1/')

versionAtLeast() {
	TESTMAJOR="$1"
	TESTMINOR="$2"
	if [ "$MONGOMAJOR" -gt "$TESTMAJOR" ]; then
		return 0
	fi
	if [ "$MONGOMAJOR" -lt "$TESTMAJOR" ]; then
		return 100
	fi
	if [ "$MONGOMINOR" -ge "$TESTMINOR" ]; then
		return 0
	fi
	return 100
}

COMMONDOPTSNOIP="
	--nohttpinterface
	--nojournal
	--smallfiles
	--oplogSize=1
	--dbpath ./db
	"
COMMONDOPTS="
	$COMMONDOPTSNOIP
	--bind_ip=127.0.0.1
	"
COMMONCOPTS="
	$COMMONDOPTS
	"
COMMONSOPTS="
	--bind_ip=127.0.0.1
	"

CFG1OPTS=""
CFG2OPTS=""
CFG3OPTS=""

MONGOS1OPTS="--configdb 127.0.0.1:40101"
MONGOS2OPTS="--configdb 127.0.0.1:40102"
MONGOS3OPTS="--configdb 127.0.0.1:40103"



if versionAtLeast 3 2; then

    # 3.2 doesn't like --nojournal on config servers.
	COMMONCOPTS="$(echo "$COMMONCOPTS" | sed '/--nojournal/d')"

    if versionAtLeast 3 4; then
      # http interface is disabled by default, this option does not exist anymore
      COMMONDOPTSNOIP="$(echo "$COMMONDOPTSNOIP" | sed '/--nohttpinterface/d')"
      COMMONDOPTS="$(echo "$COMMONDOPTS" | sed '/--nohttpinterface/d')"
      COMMONCOPTS="$(echo "$COMMONCOPTS" | sed '/--nohttpinterface/d')"


		if versionAtLeast 3 6; then
			#In version 3.6 --nojournal is deprecated for replica set members using WiredTiger
			COMMONDOPTSNOIP="$(echo "$COMMONDOPTSNOIP" | sed '/--nojournal/d')"
      COMMONDOPTS="$(echo "$COMMONDOPTS" | sed '/--nojournal/d')"
      COMMONCOPTS="$(echo "$COMMONCOPTS" | sed '/--nojournal/d')"
		fi

      # config server need to be started as replica set

      CFG1OPTS="--replSet conf1"
      CFG2OPTS="--replSet conf2"
      CFG3OPTS="--replSet conf3"

      MONGOS1OPTS="--configdb conf1/127.0.0.1:40101"
      MONGOS2OPTS="--configdb conf2/127.0.0.1:40102"
      MONGOS3OPTS="--configdb conf3/127.0.0.1:40103" 
	fi
fi



if [ "$TRAVIS" = true ]; then
	set -x
fi
