diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index 546916e66a99..17cc81d48ab9 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -388,39 +388,39 @@
https://github.com/dotnet/runtime
7324dd154599807cad1e4c65b2fcf3acd0a01bfe
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
-
+
https://github.com/dotnet/arcade
- bbea86c614fcf4380c58c80eacd279a0b8305a79
+ 91630b31ce859c28f637b62b566ea8829b982f2c
https://github.com/dotnet/extensions
diff --git a/eng/Versions.props b/eng/Versions.props
index 9dedb237ca31..513e89ced0d3 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -166,11 +166,11 @@
6.2.4
6.2.4
- 10.0.0-beta.25080.7
- 10.0.0-beta.25080.7
- 10.0.0-beta.25080.7
- 10.0.0-beta.25080.7
- 10.0.0-beta.25080.7
+ 10.0.0-beta.25106.4
+ 10.0.0-beta.25106.4
+ 10.0.0-beta.25106.4
+ 10.0.0-beta.25106.4
+ 10.0.0-beta.25106.4
10.0.607901
diff --git a/eng/common/sdk-task.sh b/eng/common/sdk-task.sh
new file mode 100644
index 000000000000..b9b9e58db9ad
--- /dev/null
+++ b/eng/common/sdk-task.sh
@@ -0,0 +1,104 @@
+#!/usr/bin/env bash
+
+show_usage() {
+ echo "Common settings:"
+ echo " --task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)"
+ echo " --restore Restore dependencies"
+ echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]"
+ echo " --help Print help and exit"
+ echo ""
+ echo "Command line arguments not listed above are passed thru to msbuild."
+}
+
+source="${BASH_SOURCE[0]}"
+
+# resolve $source until the file is no longer a symlink
+while [[ -h "$source" ]]; do
+ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+ source="$(readlink "$source")"
+ # if $source was a relative symlink, we need to resolve it relative to the path where the
+ # symlink file was located
+ [[ $source != /* ]] && source="$scriptroot/$source"
+done
+scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
+
+Build() {
+ local target=$1
+ local log_suffix=""
+ [[ "$target" != "Execute" ]] && log_suffix=".$target"
+ local log="$log_dir/$task$log_suffix.binlog"
+ local output_path="$toolset_dir/$task/"
+
+ MSBuild "$taskProject" \
+ /bl:"$log" \
+ /t:"$target" \
+ /p:Configuration="$configuration" \
+ /p:RepoRoot="$repo_root" \
+ /p:BaseIntermediateOutputPath="$output_path" \
+ /v:"$verbosity" \
+ $properties
+}
+
+configuration="Debug"
+verbosity="minimal"
+restore=false
+help=false
+properties=''
+
+while (($# > 0)); do
+ lowerI="$(echo $1 | tr "[:upper:]" "[:lower:]")"
+ case $lowerI in
+ --task)
+ task=$2
+ shift 2
+ ;;
+ --restore)
+ restore=true
+ shift 1
+ ;;
+ --verbosity)
+ verbosity=$2
+ shift 2
+ ;;
+ --help)
+ help=true
+ shift 1
+ ;;
+ *)
+ properties="$properties $1"
+ shift 1
+ ;;
+ esac
+done
+
+ci=true
+binaryLog=true
+warnAsError=true
+
+if $help; then
+ show_usage
+ exit 0
+fi
+
+. "$scriptroot/tools.sh"
+InitializeToolset
+
+if [[ -z "$task" ]]; then
+ Write-PipelineTelemetryError -Category 'Task' -Name 'MissingTask' -Message "Missing required parameter '-task '"
+ ExitWithExitCode 1
+fi
+
+taskProject=$(GetSdkTaskProject "$task")
+if [[ ! -e "$taskProject" ]]; then
+ Write-PipelineTelemetryError -Category 'Task' -Name 'UnknownTask' -Message "Unknown task: $task"
+ ExitWithExitCode 1
+fi
+
+if $restore; then
+ Build "Restore"
+fi
+
+Build "Execute"
+
+
+ExitWithExitCode 0
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
index df203b517842..4a5fa99478d1 100755
--- a/eng/common/tools.sh
+++ b/eng/common/tools.sh
@@ -528,6 +528,12 @@ function GetDarc {
"$eng_root/common/darc-init.sh" --toolpath "$darc_path" $version
}
+# Returns a full path to an Arcade SDK task project file.
+function GetSdkTaskProject {
+ taskName=$1
+ echo "$(dirname $_InitializeToolset)/SdkTasks/$taskName.proj"
+}
+
ResolvePath "${BASH_SOURCE[0]}"
_script_dir=`dirname "$_ResolvePath"`
diff --git a/global.json b/global.json
index 8e3bd42f9393..3d5013c0be51 100644
--- a/global.json
+++ b/global.json
@@ -27,9 +27,9 @@
"jdk": "latest"
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25080.7",
- "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25080.7",
- "Microsoft.DotNet.SharedFramework.Sdk": "10.0.0-beta.25080.7",
+ "Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25106.4",
+ "Microsoft.DotNet.Helix.Sdk": "10.0.0-beta.25106.4",
+ "Microsoft.DotNet.SharedFramework.Sdk": "10.0.0-beta.25106.4",
"Microsoft.Build.NoTargets": "3.7.0",
"Microsoft.Build.Traversal": "3.4.0"
}