diff --git a/build/Microsoft.DotNet.Cli.tasks b/build/Microsoft.DotNet.Cli.tasks
index 49553a226..89c188c72 100644
--- a/build/Microsoft.DotNet.Cli.tasks
+++ b/build/Microsoft.DotNet.Cli.tasks
@@ -9,6 +9,7 @@
+
diff --git a/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj b/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj
new file mode 100644
index 000000000..3437872d9
--- /dev/null
+++ b/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage0.proj
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage2.proj b/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage2.proj
new file mode 100644
index 000000000..c27f097ea
--- /dev/null
+++ b/build_projects/Microsoft.DotNet.Cli.Build.SelfTest/InvokeWithStage2.proj
@@ -0,0 +1,25 @@
+
+
+
+ false
+ true
+ false
+ true
+ false
+ true
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build_projects/dotnet-cli-build/DotNetMSBuild.cs b/build_projects/dotnet-cli-build/DotNetMSBuild.cs
new file mode 100644
index 000000000..c5531b802
--- /dev/null
+++ b/build_projects/dotnet-cli-build/DotNetMSBuild.cs
@@ -0,0 +1,30 @@
+// 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.
+
+namespace Microsoft.DotNet.Cli.Build
+{
+ public class DotNetMSBuild : DotNetTool
+ {
+ protected override string Command
+ {
+ get { return "msbuild"; }
+ }
+
+ protected override string Args
+ {
+ get { return $"{GetArguments()}"; }
+ }
+
+ public string Arguments { get; set; }
+
+ private string GetArguments()
+ {
+ if (!string.IsNullOrEmpty(Arguments))
+ {
+ return $"{Arguments}";
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/build_projects/dotnet-cli-build/DotNetTool.cs b/build_projects/dotnet-cli-build/DotNetTool.cs
index 58f813cab..7a12d0355 100644
--- a/build_projects/dotnet-cli-build/DotNetTool.cs
+++ b/build_projects/dotnet-cli-build/DotNetTool.cs
@@ -1,5 +1,6 @@
// 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.
+using System;
using System.Linq;
using Microsoft.Build.Framework;
@@ -13,10 +14,20 @@ namespace Microsoft.DotNet.Cli.Build
{
public DotNetTool()
{
+Log.LogMessage(MessageImportance.High, "STARTING ");
EnvironmentVariables = new EnvironmentFilter()
.GetEnvironmentVariableNamesToRemove()
.Select(e => $"{e}=")
.ToArray();
+
+Log.LogMessage(MessageImportance.High, "OVERRIDING ");
+
+ foreach (var ev in EnvironmentVariables)
+ {
+ Log.LogMessage(MessageImportance.High, $"{ev}");
+ }
+
+ throw new Exception($"{EnvironmentVariables.Count()}");
}
protected abstract string Command { get; }