#!/usr/bin/env bash

set -euo pipefail

check_license () {
    for license in "LICENSE-AGPL" "LICENSE-GPL" "LICENSE-APACHE"; do
        if [[ -L "$1/$license" ]]; then
            return 0
        elif [[ -e "$1/$license" ]]; then
            echo "Error: $1/$license exists but is not a symlink."
            exit 1
        fi
    done
    echo "Error: $1 does not contain a license symlink"
    exit 1
}

git ls-files **/*/Cargo.toml | while read cargo_toml; do
   check_license $(dirname "$cargo_toml");
done
