#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM 10.99.253.167:8090/dotnet/runtime:7.0 AS base
WORKDIR /app

FROM 10.99.253.167:8090/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["NuGet.config", "."]
COPY ["PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj", "PARR.EsppTemplateSyncWorker/"]
COPY ["PARR.EsppTemplateSync/PARR.EsppTemplateSync.csproj", "PARR.EsppTemplateSync/"]
COPY ["PARR.BLL/PARR.BLL.csproj", "PARR.BLL/"]
COPY ["PARR.DAL/PARR.DAL.csproj", "PARR.DAL/"]
COPY ["PARR.Constants/PARR.Constants.csproj", "PARR.Constants/"]
COPY ["PARR.Common/PARR.Common.csproj", "PARR.Common/"]
RUN dotnet restore "PARR.EsppTemplateSyncWorker/PARR.EsppTemplateSyncWorker.csproj"
COPY . .
WORKDIR "/src/PARR.EsppTemplateSyncWorker"
RUN dotnet build "PARR.EsppTemplateSyncWorker.csproj" -c Release -o /app/build

FROM build AS publish
ARG app_version=0.0.0-default
RUN dotnet publish "PARR.EsppTemplateSyncWorker.csproj" -c Release -o /app/publish /p:UseAppHost=false /p:Version=$app_version

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .

ENTRYPOINT ["dotnet", "PARR.EsppTemplateSyncWorker.dll"]

### EXAMPLE ###
# docker build -t parr-espp-template-sync:v1.0.0 --build-arg app_version=1.0.0 -f PARR.EsppTemplateSyncWorker/Dockerfile .