Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion 6 src/msbuild/.config/git-merge-flow-config.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,12 @@
"vs17.14": {
"MergeToBranch": "vs18.0"
},
// MSBuild latest release to main
// Automate opening PRs to merge msbuild's vs18.0 (SDK 10.0.1xx) into vs18.3 (SDK 10.0.2xx, VS)
"vs18.0": {
"MergeToBranch": "main" // update to flow through vs18.3 after we fork for release
},
// MSBuild latest release to main
"vs18.3": {
"MergeToBranch": "main"
}
}
Expand Down
13 changes: 0 additions & 13 deletions 13 src/msbuild/azure-pipelines/vs-insertion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -270,19 +270,6 @@ extends:
nuGetFeedType: internal
publishVstsFeed: VS
allowPackageConflicts: false
- template: /azure-pipelines/WIFtoPATauth.yml@self
parameters:
wifServiceConnectionName: azure-public/vside package push
deadPATServiceConnectionId: 42175e93-c771-4a4f-a132-3cca78f44b3b
- task: 1ES.PublishNuGet@1
condition: ${{ eq(parameters.SkipUploadingPackages, false) }}
displayName: 'Push MSBuild packages to VSSDK'
inputs:
packageParentPath: '$(Build.ArtifactStagingDirectory)'
packagesToPush: $(MSBuildPackagePattern);$(StringToolsPackagePattern)
nuGetFeedType: external
publishFeedCredentials: azure-public/vssdk
allowPackageConflicts: false
- task: PowerShell@2
name: PrintTargetBranch
inputs:
Expand Down
4 changes: 2 additions & 2 deletions 4 src/msbuild/eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<Source Uri="https://github.com/dotnet/dotnet" Mapping="msbuild" Sha="cdc420f453860b662a76fcc72672ed2a65243146" BarId="288940" />
<Source Uri="https://github.com/dotnet/dotnet" Mapping="msbuild" Sha="78c39718bb6e8008ba9d2dbd00d550bee6be9f59" BarId="293020" />
<ProductDependencies>
<!-- Necessary for source-build. This allows the live version of the package to be used by source-build. -->
<Dependency Name="System.CodeDom" Version="9.0.11">
Expand Down Expand Up @@ -123,4 +123,4 @@
<Sha>987d1a73ea67d323c0fc7537bce8ec65d87eb43f</Sha>
</Dependency>
</ToolsetDependencies>
</Dependencies>
</Dependencies>
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ public class AssemblyTaskFactory_Tests
/// </summary>
private LoadedType _loadedType;

/// <summary>
/// Creates a stub TaskEnvironment for testing.
/// </summary>
private static TaskEnvironment CreateStubTaskEnvironment() => TaskEnvironmentHelper.CreateForTest();

/// <summary>
/// Initialize a task factory
/// </summary>
Expand Down Expand Up @@ -245,7 +250,8 @@ public void VerifyGoodTaskInstantiation()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
createdTask.ShouldNotBeNull();
createdTask.ShouldNotBeOfType<TaskHostTask>();
}
Expand Down Expand Up @@ -276,7 +282,8 @@ public void VerifyMatchingTaskParametersDontLaunchTaskHost1()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.False(createdTask is TaskHostTask);
}
Expand Down Expand Up @@ -307,7 +314,8 @@ public void VerifyMatchingTaskParametersDontLaunchTaskHost2()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.False(createdTask is TaskHostTask);
}
Expand Down Expand Up @@ -340,7 +348,8 @@ public void VerifyMatchingUsingTaskParametersDontLaunchTaskHost1()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.False(createdTask is TaskHostTask);
}
Expand Down Expand Up @@ -373,7 +382,8 @@ public void VerifyMatchingUsingTaskParametersDontLaunchTaskHost2()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.False(createdTask is TaskHostTask);
}
Expand Down Expand Up @@ -408,7 +418,8 @@ public void VerifyMatchingParametersDontLaunchTaskHost()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.False(createdTask is TaskHostTask);
}
Expand Down Expand Up @@ -441,7 +452,8 @@ public void VerifyNonmatchingUsingTaskParametersLaunchTaskHost()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down Expand Up @@ -472,7 +484,8 @@ public void VerifyNonmatchingTaskParametersLaunchTaskHost()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down Expand Up @@ -507,7 +520,8 @@ public void VerifyNonmatchingParametersLaunchTaskHost()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down Expand Up @@ -538,7 +552,8 @@ public void VerifyExplicitlyLaunchTaskHost()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down Expand Up @@ -571,7 +586,8 @@ public void VerifyExplicitlyLaunchTaskHostEvenIfParametersMatch1()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down Expand Up @@ -604,7 +620,8 @@ public void VerifyExplicitlyLaunchTaskHostEvenIfParametersMatch2()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down Expand Up @@ -638,7 +655,8 @@ public void VerifySameFactoryCanGenerateDifferentTaskInstances()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsNotType<TaskHostTask>(createdTask);
}
Expand All @@ -661,7 +679,8 @@ public void VerifySameFactoryCanGenerateDifferentTaskInstances()
#endif
false,
scheduledNodeId: 1,
(string propName) => ProjectPropertyInstance.Create("test", "test"));
(string propName) => ProjectPropertyInstance.Create("test", "test"),
CreateStubTaskEnvironment());
Assert.NotNull(createdTask);
Assert.IsType<TaskHostTask>(createdTask);
}
Expand Down
27 changes: 16 additions & 11 deletions 27 src/msbuild/src/Build.UnitTests/BackEnd/BuildRequestEntry_Tests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,18 @@ public class BuildRequestEntry_Tests
{
private int _nodeRequestId;

/// <summary>
/// Creates a stub TaskEnvironment for testing purposes.
/// </summary>
private static TaskEnvironment CreateStubTaskEnvironment() => TaskEnvironmentHelper.CreateForTest();

[Fact]
public void TestConstructorGood()
{
BuildRequest request = CreateNewBuildRequest(1, Array.Empty<string>());
BuildRequestData data = new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null);
BuildRequestConfiguration config = new BuildRequestConfiguration(1, data, "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());

Assert.Equal(BuildRequestEntryState.Ready, entry.State);
Assert.Equal(entry.Request, request);
Expand All @@ -33,7 +38,7 @@ public void TestConstructorBad()
{
Assert.Throws<ArgumentNullException>(() =>
{
BuildRequestEntry entry = new BuildRequestEntry(null!, null!);
BuildRequestEntry entry = new BuildRequestEntry(null!, null!, null!);
});
}
[Fact]
Expand All @@ -42,7 +47,7 @@ public void TestSimpleStateProgression()
// Start in Ready
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestConfiguration config = new BuildRequestConfiguration(1, new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null), "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);
Assert.Equal(entry.Request, request);
Assert.Null(entry.Result);
Expand Down Expand Up @@ -91,7 +96,7 @@ public void TestResolveConfiguration()
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestData data1 = new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null);
BuildRequestConfiguration config = new BuildRequestConfiguration(1, data1, "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());

entry.Continue();
Assert.Equal(BuildRequestEntryState.Active, entry.State);
Expand All @@ -113,7 +118,7 @@ public void TestMultipleWaitingRequests()
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestData data1 = new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null);
BuildRequestConfiguration config = new BuildRequestConfiguration(1, data1, "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());

entry.Continue();
Assert.Equal(BuildRequestEntryState.Active, entry.State);
Expand Down Expand Up @@ -142,7 +147,7 @@ public void TestMixedWaitingRequests()
{
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestConfiguration config = new BuildRequestConfiguration(1, new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null), "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);

entry.Continue();
Expand Down Expand Up @@ -180,7 +185,7 @@ public void TestNoReadyToWaiting()
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestData data1 = new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null);
BuildRequestConfiguration config = new BuildRequestConfiguration(1, data1, "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);

BuildRequest waitingRequest1 = CreateNewBuildRequest(2, new string[1] { "bar" });
Expand All @@ -196,7 +201,7 @@ public void TestNoReadyToComplete()
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestData data1 = new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null);
BuildRequestConfiguration config = new BuildRequestConfiguration(1, data1, "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);

BuildResult requiredResult = new BuildResult(request);
Expand All @@ -213,7 +218,7 @@ public void TestNoWaitingToComplete()
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestData data1 = new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null);
BuildRequestConfiguration config = new BuildRequestConfiguration(1, data1, "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);

entry.Continue();
Expand All @@ -236,7 +241,7 @@ public void TestNoCompleteToWaiting()
{
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestConfiguration config = new BuildRequestConfiguration(1, new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null), "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);

entry.Continue();
Expand All @@ -256,7 +261,7 @@ public void TestResultsWithNoMatch1()
{
BuildRequest request = CreateNewBuildRequest(1, new string[1] { "foo" });
BuildRequestConfiguration config = new BuildRequestConfiguration(1, new BuildRequestData("foo", new Dictionary<string, string?>(), "foo", Array.Empty<string>(), null), "2.0");
BuildRequestEntry entry = new BuildRequestEntry(request, config);
BuildRequestEntry entry = new BuildRequestEntry(request, config, CreateStubTaskEnvironment());
Assert.Equal(BuildRequestEntryState.Ready, entry.State);

entry.Continue();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3898,6 +3898,11 @@ public void FilterItemPreviouslyModified6()

#region Helpers

/// <summary>
/// Creates a stub TaskEnvironment for testing that uses the current process environment.
/// </summary>
private static TaskEnvironment CreateStubTaskEnvironment() => TaskEnvironmentHelper.CreateForTest();

private static PropertyDictionary<ProjectPropertyInstance> GeneratePropertyGroup()
{
PropertyDictionary<ProjectPropertyInstance> properties = new PropertyDictionary<ProjectPropertyInstance>();
Expand Down Expand Up @@ -3954,7 +3959,7 @@ private static IntrinsicTask CreateIntrinsicTask(string content)
ProjectTargetInstanceChild targetChild = projectInstance.Targets["t"].Children.First();

NodeLoggingContext nodeContext = new NodeLoggingContext(new MockLoggingService(), 1, false);
BuildRequestEntry entry = new BuildRequestEntry(new BuildRequest(1 /* submissionId */, 0, 1, new string[] { "t" }, null, BuildEventContext.Invalid, null), new BuildRequestConfiguration(1, new BuildRequestData("projectFile", new Dictionary<string, string>(), "3.5", Array.Empty<string>(), null), "2.0"));
BuildRequestEntry entry = new BuildRequestEntry(new BuildRequest(1 /* submissionId */, 0, 1, new string[] { "t" }, null, BuildEventContext.Invalid, null), new BuildRequestConfiguration(1, new BuildRequestData("projectFile", new Dictionary<string, string>(), "3.5", Array.Empty<string>(), null), "2.0"), CreateStubTaskEnvironment());
entry.RequestConfiguration.Project = projectInstance;
IntrinsicTask task = IntrinsicTask.InstantiateTask(
targetChild,
Expand Down Expand Up @@ -3989,7 +3994,7 @@ internal static void AssertItemEvaluationFromTarget(string projectContents, stri
var targetChild = projectInstance.Targets["t"].Children.First();

var nodeContext = new NodeLoggingContext(new MockLoggingService(), 1, false);
var entry = new BuildRequestEntry(new BuildRequest(1 /* submissionId */, 0, 1, new string[] { targetName }, null, BuildEventContext.Invalid, null), new BuildRequestConfiguration(1, new BuildRequestData("projectFile", new Dictionary<string, string>(), "3.5", Array.Empty<string>(), null), "2.0"));
var entry = new BuildRequestEntry(new BuildRequest(1 /* submissionId */, 0, 1, new string[] { targetName }, null, BuildEventContext.Invalid, null), new BuildRequestConfiguration(1, new BuildRequestData("projectFile", new Dictionary<string, string>(), "3.5", Array.Empty<string>(), null), "2.0"), CreateStubTaskEnvironment());
entry.RequestConfiguration.Project = projectInstance;
var task = IntrinsicTask.InstantiateTask(
targetChild,
Expand Down
Loading
Morty Proxy This is a proxified and sanitized view of the page, visit original site.