#!/bin/bash
[ -z "$1" ] && echo "Please specify the version to download (ex. 2.0.0)" && exit

edition=${2:-community}

if [[ "$edition" == "enterprise" ]]; then
    rm -rf src
    composer create-project --repository=https://repo.magento.com/ --ignore-platform-reqs magento/project-enterprise-edition=$1 src
    exit 0
fi

if [ ! -f ~/.docker-magento/magento2-$1.tar.gz ]; then
    mkdir -p ~/.docker-magento
    (cd ~/.docker-magento && curl -fOL http://pubfiles.nexcess.net/magento/ce-packages/magento2-$1.tar.gz)
fi

# Fallback download to hypernode if archive doesn't exist on Nexcess (smaller than 1MB)
if [ $(find ~/.docker-magento/magento2-$1.tar.gz -size -1M) ]; then
    (cd ~/.docker-magento && curl -o magento2-$1.tar.gz -fOL https://www.magento.mirror.hypernode.com/releases/magento-$1.tar.gz)
fi

# Final fallback. If no archive exists, let's use Composer!
if [ ! -f ~/.docker-magento/magento2-$1.tar.gz ]; then
    echo "Archive not found, or not yet available due to new version release."
    echo "Attempting install with Composer..."
    rm -rf src
    composer create-project --repository=https://repo.magento.com/ --ignore-platform-reqs magento/project-community-edition=$1 src
else
    echo "Extracting magento2-$1.tar.gz to ./src"
    mkdir -p src && tar xzf ~/.docker-magento/magento2-$1.tar.gz -o -C src
fi
