#!/bin/bash
/bin/echo "$0 - Building all containers [$(pwd)]"
echo "USER: $UID"

# Parse owner/repo from GIT_URL
: "${GIT_URL:?Missing GIT_URL in Jenkins env}"
# GIT_URL="https://gitea.a.ucnit.eu/DMA-CSD-CICD/Test01.git"
# Handle formats: https://gitea.example.com/owner/repo.git or git@gitea.example.com:owner/repo.git
OWNER=""
REPO=""
GIT=""
if echo "$GIT_URL" | grep -q "^http"; then
  GIT=$(echo "$GIT_URL" | cut -f 3 -d '/')
  OWNER=$(echo "$GIT_URL" | cut -f 4 -d '/')
  REPO=$(echo "$GIT_URL" | cut -f 5 -d '/' | xargs -- basename -s .git)
fi
if echo "$GIT_URL" | grep -q "^git@"; then
  GIT=$(echo "$GIT_URL" | cut -f 2 -d '@' | cut -f 1 -d ':')
  OWNER=$(echo "$GIT_URL" | cut -f 2 -d ':' | cut -f 1 -d '/')
  REPO=$(echo "$GIT_URL" | cut -f 2 -d '/' | xargs -- basename -s .git)
fi
  
# if [[ "$GIT_URL" =~ [:\/]([^\/:]+)\/([^\/\.]+)(\.git)?$ ]]; then
  # OWNER="${BASH_REMATCH[1]}"
  # REPO="${BASH_REMATCH[2]}"
# fi
if [[ -z "$OWNER" || -z "$REPO" ]]; then
  echo "[ERROR] Could not determine owner/repo from GIT_URL=$GIT_URL"
  exit 1
fi
echo "Will publish package at [$REPO]/[$OWNER]"

echo "Will build:"
/bin/find ./ -type f -name "*.csproj" | while read line; do
  solution=$(echo "$line" | cut -f 2 -d '/')
  project=$(echo "$line" | cut -f 3 -d '/')
  echo "[$solution]:[$project]"
done


/bin/find ./ -type f -name "*.csproj" | while read line; do
  solution=$(echo "$line" | cut -f 2 -d '/')
  project=$(echo "$line" | cut -f 3 -d '/')
  echo "Building  [$solution] [$project]"
  .workflow/DotDockerbuilder10.sh --solution $solution --project $project --git $GIT --gituser $OWNER
done

