#!/bin/bash
set -eu

# Add repo as private
go env -w "GOPRIVATE=github.com/canonical/ubuntu-pro-for-wsl"

UP4W_SKIP_INTERNAL_DEPENDENCY_UPDATE=${UP4W_SKIP_INTERNAL_DEPENDENCY_UPDATE:-""}

if [ -n "${UP4W_SKIP_INTERNAL_DEPENDENCY_UPDATE}" ]; then
    echo "Skipping internal dependency update"
    exit 0
fi

# Find internal dependencies
url='github\.com\/canonical\/ubuntu-pro-for-wsl'
pattern="s/${url}\/wsl-pro-service \(${url}\/[^@]\+\)@.*/\1/p"
modules=`go mod graph | sed -n "${pattern}"`

# Get latest version
commit=`git rev-parse --short HEAD`
for mod in ${modules} ; do
    go get "${mod}@${commit}"
done

# Tidying up
go mod tidy
