xref: /aosp_15_r20/external/grpc-grpc/templates/tools/dockerfile/csharp_dotnetcli_deps.include (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1# Install .NET Core 3.1 (to be able to run the netcoreapp3.1 targets)
2RUN DOTNET_DOWNLOAD_VERSION=3.1.415 ${'\\'}
3    && DOTNET_DOWNLOAD_ARCH="$(uname -m | sed s/x86_64/x64/ | sed s/aarch64/arm64/)" ${'\\'}
4    && curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_DOWNLOAD_VERSION/dotnet-sdk-$DOTNET_DOWNLOAD_VERSION-linux-$DOTNET_DOWNLOAD_ARCH.tar.gz ${'\\'}
5    && mkdir -p /usr/share/dotnet ${'\\'}
6    && tar -zxf dotnet.tar.gz -C /usr/share/dotnet ${'\\'}
7    && rm dotnet.tar.gz
8
9# Install .NET 6
10RUN DOTNET_DOWNLOAD_VERSION=6.0.100 ${'\\'}
11    && DOTNET_DOWNLOAD_ARCH="$(uname -m | sed s/x86_64/x64/ | sed s/aarch64/arm64/)" ${'\\'}
12    && curl -sSL -o dotnet.tar.gz https://dotnetcli.blob.core.windows.net/dotnet/Sdk/$DOTNET_DOWNLOAD_VERSION/dotnet-sdk-$DOTNET_DOWNLOAD_VERSION-linux-$DOTNET_DOWNLOAD_ARCH.tar.gz ${'\\'}
13    && mkdir -p /usr/share/dotnet ${'\\'}
14    && tar -zxf dotnet.tar.gz -C /usr/share/dotnet ${'\\'}
15    && rm dotnet.tar.gz
16
17# Make sure "dotnet" is on PATH
18RUN ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
19
20# Trigger the population of the local package cache
21ENV NUGET_XMLDOC_MODE skip
22RUN mkdir warmup ${'\\'}
23    && cd warmup ${'\\'}
24    && dotnet new ${'\\'}
25    && cd .. ${'\\'}
26    && rm -rf warmup
27