FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src

COPY ["State-Management-Models", "State-Management-Models/"]
COPY ["State-Management-Dapr-Web-Api", "State-Management-Dapr-Web-Api/"]

RUN dotnet restore "State-Management-Models/State-Management-Models.csproj"
RUN dotnet restore "State-Management-Dapr-Web-Api/State-Management-Dapr-Web-Api.csproj"

COPY . .

WORKDIR "/src/"

RUN dotnet build "State-Management-Models/State-Management-Models.csproj" -c Release -o /State-Management-Dapr-Web-Api
RUN dotnet build "State-Management-Dapr-Web-Api/State-Management-Dapr-Web-Api.csproj" -c Release -o /app

FROM build AS publish
RUN dotnet publish "State-Management-Dapr-Web-Api/State-Management-Dapr-Web-Api.csproj" -c Release -o /app

FROM mcr.microsoft.com/dotnet/aspnet:5.0 as final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "State-Management-Dapr-Web-Api.dll"]