未验证 提交 d34e6cec 编写于 作者: A Andy Gocke 提交者: GitHub

Use machine mono install (#24766)

上级 54483079
...@@ -30,6 +30,14 @@ RUN apt-get install -y libunwind8 \ ...@@ -30,6 +30,14 @@ RUN apt-get install -y libunwind8 \
libcurl4-openssl-dev && \ libcurl4-openssl-dev && \
apt-get clean apt-get clean
# Install Mono
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
(echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial main" | \
tee /etc/apt/sources.list.d/mono-official.list) && \
apt-get update && \
apt-get install -y mono-devel=5.8.0.108-0xamarin1+ubuntu1604b1 && \
apt-get clean
# Setup User to match Host User, and give superuser permissions # Setup User to match Host User, and give superuser permissions
ARG USER_ID=0 ARG USER_ID=0
RUN useradd -m code_executor -u ${USER_ID} -g sudo RUN useradd -m code_executor -u ${USER_ID} -g sudo
......
#!/usr/bin/env bash
# Copyright (c) .NET Foundation and contributors. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
# Source this script to ensure mono is installed and on the path.
# This is a function to keep variable assignments out of the parent script (that is sourcing this file)
install_mono () {
# Download and install `mono` locally
local THIS_DIR="$(cd -P "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${THIS_DIR}"/build-utils.sh
local MONO_VERSION="$(get_tool_version mono)"
# the tar file has `mono` as the root directory
local MONO_PATH="${THIS_DIR}"/../../Binaries/Tools
if [[ ! -x "${MONO_PATH}/mono/bin/mono" ]]
then
echo "Downloading mono ${MONO_VERSION}"
mkdir -p "${MONO_PATH}"
curl -L https://roslyninfra.blob.core.windows.net/jenkins/mono/mono-${MONO_VERSION}.tar.gz | tar xz -C "${MONO_PATH}"
fi
export PATH="${MONO_PATH}/mono/bin:${PATH}"
}
install_mono
...@@ -22,7 +22,6 @@ if [[ "${runtime}" == "dotnet" ]]; then ...@@ -22,7 +22,6 @@ if [[ "${runtime}" == "dotnet" ]]; then
target_framework=netcoreapp2.0 target_framework=netcoreapp2.0
xunit_console="${nuget_dir}"/xunit.runner.console/"${xunit_console_version}"/tools/${target_framework}/xunit.console.dll xunit_console="${nuget_dir}"/xunit.runner.console/"${xunit_console_version}"/tools/${target_framework}/xunit.console.dll
elif [[ "${runtime}" == "mono" ]]; then elif [[ "${runtime}" == "mono" ]]; then
source ${root_path}/build/scripts/obtain_mono.sh
target_framework=net461 target_framework=net461
xunit_console="${nuget_dir}"/xunit.runner.console/"${xunit_console_version}"/tools/net452/xunit.console.exe xunit_console="${nuget_dir}"/xunit.runner.console/"${xunit_console_version}"/tools/net452/xunit.console.exe
else else
...@@ -64,7 +63,7 @@ do ...@@ -64,7 +63,7 @@ do
continue continue
fi fi
echo Running "${file_name[@]}" echo Running "${runtime} ${file_name[@]}"
if [[ "${runtime}" == "dotnet" ]]; then if [[ "${runtime}" == "dotnet" ]]; then
runner="dotnet exec --depsfile ${deps_json} --runtimeconfig ${runtimeconfig_json}" runner="dotnet exec --depsfile ${deps_json} --runtimeconfig ${runtimeconfig_json}"
elif [[ "${runtime}" == "mono" ]]; then elif [[ "${runtime}" == "mono" ]]; then
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册