Skip to content
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
1 change: 1 addition & 0 deletions Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<GlobalPackageReference Include="Microsoft.Build.Artifacts" Version="4.0.4" Condition="'$(EnableArtifacts)' != 'false'" />
<GlobalPackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" Condition="'$(EnableMicroBuild)' != 'false'" />
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.4.244" Condition="'$(EnableGitVersioning)' != 'false'" />
<GlobalPackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.2" />
</ItemGroup>

<ItemGroup Condition=" '$(EnableStyleCop)' != 'false' ">
Expand Down
26 changes: 0 additions & 26 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,6 @@ jobs:
vmImage: ubuntu-latest
steps:

- task: UseDotNet@2
displayName: 'Install .NET Core $(DotNet3Version)'
inputs:
version: '$(DotNet3Version)'

- task: UseDotNet@2
displayName: 'Install .NET $(DotNet5Version)'
inputs:
Expand All @@ -123,14 +118,6 @@ jobs:
command: 'build'
arguments: '$(MSBuildArgs)'

- task: DotNetCoreCLI@2
displayName: 'Run Unit Tests (.NET Core 3.0)'
inputs:
command: 'test'
arguments: '--no-restore --no-build --framework netcoreapp3.1 /noautorsp'
testRunTitle: 'Linux .NET Core 3.0'
condition: succeededOrFailed()

- task: DotNetCoreCLI@2
displayName: 'Run Unit Tests (.NET 5.0)'
inputs:
Expand Down Expand Up @@ -160,11 +147,6 @@ jobs:
vmImage: macOS-latest
steps:

- task: UseDotNet@2
displayName: 'Install .NET Core $(DotNet3Version)'
inputs:
version: '$(DotNet3Version)'

- task: UseDotNet@2
displayName: 'Install .NET $(DotNet5Version)'
inputs:
Expand All @@ -181,14 +163,6 @@ jobs:
command: 'build'
arguments: '$(MSBuildArgs)'

- task: DotNetCoreCLI@2
displayName: 'Run Unit Tests (.NET Core 3.0)'
inputs:
command: 'test'
arguments: '--no-restore --no-build --framework netcoreapp3.1 /noautorsp'
testRunTitle: 'MacOS .NET Core 3.0'
condition: succeededOrFailed()

- task: DotNetCoreCLI@2
displayName: 'Run Unit Tests (.NET 5.0)'
inputs:
Expand Down
77 changes: 39 additions & 38 deletions src/CentralPackageVersions.UnitTests/CentralPackageVersionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@ public void CanBeExplicitlyEnabled(bool createPackagesConfig, string extension)
["DisableImplicitFrameworkReferences"] = "true",
}),
projectCreator: creator => creator
.Property("EnableCentralPackageVersions", "true")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.Property("EnableCentralPackageVersions", "true"))
.TryGetPropertyValue("EnableCentralPackageVersions", out string enableCentralPackageVersions);

enableCentralPackageVersions.ShouldBe("true");
Expand All @@ -64,8 +63,7 @@ public void CanDisableCentralPackageVersions(string projectFileExtension)
["DisableImplicitFrameworkReferences"] = "true",
}),
projectCreator: creator => creator
.ItemPackageReference("Foo", "10.0.0")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Foo", "10.0.0"))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput)
.Project
.GetItems("PackageReference")
Expand Down Expand Up @@ -96,8 +94,7 @@ public void CanDisableGlobalPackageReferences(string projectFileExtension)
["EnableGlobalPackageReferences"] = "false",
}),
projectCreator: creator => creator
.ItemPackageReference("Foo")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Foo"))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput)
.Project
.GetItems("PackageReference")
Expand Down Expand Up @@ -134,8 +131,7 @@ public void CanOverridePackageVersion(string projectFileExtension)
metadata: new Dictionary<string, string>
{
["VersionOverride"] = "9.0.1",
})
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
}))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput)
.Project
.GetItems("PackageReference")
Expand Down Expand Up @@ -164,9 +160,7 @@ public void FSharpCorePackageReferenceCanBeDisabled()
{
["UpdateImplicitFSharpCoreReference"] = "false",
}),
targetFramework: "net46",
projectCreator: creator => creator
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
targetFramework: "net46")
.TryGetItems("PackageReference", out IReadOnlyCollection<ProjectItem> items);

items.Where(i => i.EvaluatedInclude.Equals("FSharp.Core"))
Expand All @@ -182,9 +176,7 @@ public void FSharpCorePackageReferenceNoSystemValueTupleForNetStandardProjects()

ProjectCreator.Templates
.SdkCsproj(
path: Path.Combine(TestRootPath, "test.fsproj"),
projectCreator: creator => creator
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
path: Path.Combine(TestRootPath, "test.fsproj"))
.TryGetItems("PackageReference", out IReadOnlyCollection<ProjectItem> items);

items.Where(i => i.EvaluatedInclude.Equals("FSharp.Core"))
Expand All @@ -203,9 +195,7 @@ public void FSharpCorePackageReferenceUpdated()
ProjectCreator.Templates
.SdkCsproj(
path: Path.Combine(TestRootPath, "test.fsproj"),
targetFramework: "net46",
projectCreator: creator => creator
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
targetFramework: "net46")
.TryGetItems("PackageReference", out IReadOnlyCollection<ProjectItem> items);

items.Where(i => i.EvaluatedInclude.Equals("FSharp.Core"))
Expand Down Expand Up @@ -240,9 +230,7 @@ public void IsDisabledForProjectsWithPackagesConfigOrDoNotSupportPackageReferenc
projectCollection: new ProjectCollection(new Dictionary<string, string>
{
["DisableImplicitFrameworkReferences"] = "true",
}),
projectCreator: creator => creator
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
}))
.TryGetPropertyValue("EnableCentralPackageVersions", out string enableCentralPackageVersions);

enableCentralPackageVersions.ShouldBe("false");
Expand All @@ -261,8 +249,7 @@ public void LogErrorIfProjectSpecifiesGlobalPackageReference(string projectFileE
path: Path.Combine(TestRootPath, $"test.{projectFileExtension}"),
projectCreator: creator => creator
.ItemPackageReference("Foo")
.ItemPackageReference("Global1")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Global1"))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput);

result.ShouldBeFalse(buildOutput.GetConsoleLog());
Expand All @@ -283,8 +270,7 @@ public void LogErrorIfProjectSpecifiesUnknownPackage(string projectFileExtension
path: Path.Combine(TestRootPath, $"test.{projectFileExtension}"),
projectCreator: creator => creator
.ItemPackageReference("Foo")
.ItemPackageReference("Baz")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Baz"))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput);

result.ShouldBeFalse(buildOutput.GetConsoleLog());
Expand All @@ -304,8 +290,7 @@ public void LogErrorIfProjectSpecifiesVersion(string projectFileExtension)
.SdkCsproj(
path: Path.Combine(TestRootPath, $"test.{projectFileExtension}"),
projectCreator: creator => creator
.ItemPackageReference("Foo", "10.0.0")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Foo", "10.0.0"))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput);

result.ShouldBeFalse(buildOutput.GetConsoleLog());
Expand All @@ -330,8 +315,7 @@ public void LogErrorIfProjectSpecifiesVersionAndVersionOverrideIsDisabled(string
["EnablePackageVersionOverride"] = "false",
}),
projectCreator: creator => creator
.ItemPackageReference("Foo", "10.0.0")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Foo", "10.0.0"))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput);

result.ShouldBeFalse(buildOutput.GetConsoleLog());
Expand All @@ -350,8 +334,7 @@ public void MicrosoftAspNetCoreAllUpdated()
targetFramework: "netcoreapp2.0",
sdk: "Microsoft.NET.Sdk.Web",
projectCreator: creator => creator
.ItemPackageReference("Microsoft.AspNetCore.All")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Microsoft.AspNetCore.All"))
.TryGetItems("PackageReference", out IReadOnlyCollection<ProjectItem> items);

items.Where(i => i.EvaluatedInclude.Equals("Microsoft.AspNetCore.All"))
Expand All @@ -371,8 +354,7 @@ public void MicrosoftAspNetCoreAppUpdated()
targetFramework: "netcoreapp2.0",
sdk: "Microsoft.NET.Sdk.Web",
projectCreator: creator => creator
.ItemPackageReference("Microsoft.AspNetCore.App")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Microsoft.AspNetCore.App"))
.TryGetItems("PackageReference", out IReadOnlyCollection<ProjectItem> items);

items.Where(i => i.EvaluatedInclude.Equals("Microsoft.AspNetCore.App"))
Expand All @@ -398,8 +380,7 @@ public void PackageVersionsAreApplied(string projectFileExtension)
}),
projectCreator: creator => creator
.ItemPackageReference("Foo")
.ItemPackageReference("Bar")
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
.ItemPackageReference("Bar"))
.Project
.GetItems("PackageReference")
.Where(i => !i.EvaluatedInclude.Equals("FSharp.Core"))
Expand All @@ -412,6 +393,20 @@ public void PackageVersionsAreApplied(string projectFileExtension)
});
}

[Theory]
[InlineData("UsingMicrosoftCentralPackageVersionsSdk", "true")]
public void PropertiesAreSet(string propertyName, string expectedValue)
{
WritePackagesProps();

ProjectCreator.Templates
.SdkCsproj()
.Save(GetTempFileWithExtension(".csproj"))
.TryGetPropertyValue(propertyName, out string actualValue);

actualValue.ShouldBe(expectedValue);
}

[Theory]
[InlineData(".csproj")]
[InlineData(".fsproj")]
Expand All @@ -434,8 +429,7 @@ public void VersionOverridesWithoutCentralVersionsAreAllowed(string projectFileE
metadata: new Dictionary<string, string>
{
["VersionOverride"] = "1.0.0",
})
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
}))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput);

result.ShouldBeTrue(buildOutput.GetConsoleLog());
Expand Down Expand Up @@ -463,8 +457,7 @@ public void VersionOverridesWithoutCentralVersionsCanBeDisabled(string projectFi
metadata: new Dictionary<string, string>
{
["VersionOverride"] = "1.0.0",
})
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets")))
}))
.TryBuild("CheckPackageReferences", out bool result, out BuildOutput buildOutput);

result.ShouldBeFalse(buildOutput.GetConsoleLog());
Expand All @@ -474,6 +467,14 @@ public void VersionOverridesWithoutCentralVersionsCanBeDisabled(string projectFi

private ProjectCreator WritePackagesProps()
{
ProjectCreator.Create()
.Save(Path.Combine(TestRootPath, "Directory.Build.props"));

ProjectCreator.Create()
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.props"))
.Import(Path.Combine(ThisAssemblyDirectory, @"Sdk\Sdk.targets"))
.Save(Path.Combine(TestRootPath, "Directory.Build.targets"));

return ProjectCreator.Templates
.PackagesProps(
path: Path.Combine(TestRootPath, "Packages.props"),
Expand Down
1 change: 1 addition & 0 deletions src/CentralPackageVersions/Sdk/Sdk.props
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@

<PropertyGroup>
<MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' != 'Current'">$(MSBuildAllProjects);$(MsBuildThisFileFullPath)</MSBuildAllProjects>
<UsingMicrosoftCentralPackageVersionsSdk>true</UsingMicrosoftCentralPackageVersionsSdk>
</PropertyGroup>

<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition=" '$(MicrosoftCommonPropsHasBeenImported)' != 'true' And Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props') "/>
Expand Down
2 changes: 1 addition & 1 deletion src/CentralPackageVersions/version.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"inherit": true,
"version": "2.0"
"version": "2.1"
}