Skip to content

Commit

Permalink
Cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
nkolev92 committed Oct 4, 2024
1 parent 0bf00d2 commit 262f923
Show file tree
Hide file tree
Showing 106 changed files with 1,789 additions and 1,240 deletions.
2 changes: 2 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
<PackageVersion Include="NuGetValidator" version="2.1.1" />
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
<PackageVersion Include="System.Collections" Version="$(SystemPackagesVersion)" />
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
<PackageVersion Include="System.CommandLine" Version="$(SystemCommandLineVersion)" />
<PackageVersion Include="System.ComponentModel.Composition" Version="$(SystemComponentModelCompositionPackageVersion)" />
<PackageVersion Include="System.Formats.Asn1" Version="$(SystemFormatsAsn1PackageVersion)" />
Expand Down Expand Up @@ -190,6 +191,7 @@
<_allowBuildFromSourcePackage Include="Microsoft.Extensions.FileSystemGlobbing" />
<_allowBuildFromSourcePackage Include="Microsoft.Web.Xdt" />
<_allowBuildFromSourcePackage Include="Newtonsoft.Json" />
<_allowBuildFromSourcePackage Include="System.Collections.Immutable" />
<_allowBuildFromSourcePackage Include="System.CommandLine" />
<_allowBuildFromSourcePackage Include="System.ComponentModel.Composition" />
<_allowBuildFromSourcePackage Include="System.Formats.Asn1" />
Expand Down
4 changes: 0 additions & 4 deletions build/Shared/IsExternalInit.cs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

#if !NET5_0_OR_GREATER

using System.Diagnostics;

namespace System.Runtime.CompilerServices;
Expand All @@ -13,5 +11,3 @@ namespace System.Runtime.CompilerServices;
internal static class IsExternalInit
{
}

#endif
40 changes: 40 additions & 0 deletions build/Shared/SharedExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -125,5 +125,45 @@ public static void AppendInt(this StringBuilder sb, int value)
divisor /= 10;
}
}

public static int SingleIndex<T>(this IList<T> lst, Predicate<T> isMatch)
{
var foundIndex = -1;

for (var index = 0; index < lst.Count; index++)
{
var item = lst[index];
if (isMatch(item))
{
if (foundIndex != -1)
{
throw new InvalidOperationException();
}

foundIndex = index;
}
}

if (foundIndex == -1)
{
throw new InvalidOperationException();
}

return foundIndex;
}

public static int FirstIndex<T>(this IList<T> lst, Predicate<T> isMatch)
{
for (var index = 0; index < lst.Count; index++)
{
var item = lst[index];
if (isMatch(item))
{
return index;
}
}

throw new InvalidOperationException();
}
}
}
1 change: 1 addition & 0 deletions src/NuGet.Clients/NuGet.MSSigning.Extensions/ilmerge.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<MergeInclude Include="$(OutputPath)NuGet.Versioning.dll"/>
<MergeInclude Include="$(OutputPath)NuGet.Core.dll"/>
<MergeInclude Include="$(OutputPath)NuGet.MSSigning.Extensions.dll"/>
<MergeInclude Include="$(OutputPath)System.Collections.Immutable.dll"/>
<MergeInclude Include="$(OutputPath)System.Memory.dll"/>
<MergeInclude Include="$(OutputPath)System.Numerics.Vectors.dll"/>
<MergeInclude Include="$(OutputPath)System.Runtime.CompilerServices.Unsafe.dll"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
Expand Down Expand Up @@ -204,9 +205,14 @@ private static string GetReferenceMetadataValue(ProjectReference reference, stri
private static LibraryDependency ToPackageLibraryDependency(PackageReference reference, bool isCpvmEnabled)
{
// Get warning suppressions
IList<NuGetLogCode> noWarn = MSBuildStringUtility.GetNuGetLogCodes(GetReferenceMetadataValue(reference, ProjectItemProperties.NoWarn));
ImmutableArray<NuGetLogCode> noWarn = MSBuildStringUtility.GetNuGetLogCodes(GetReferenceMetadataValue(reference, ProjectItemProperties.NoWarn));

var dependency = new LibraryDependency(noWarn)
(var includeType, var suppressParent) = MSBuildRestoreUtility.GetLibraryDependencyIncludeFlags(
GetReferenceMetadataValue(reference, ProjectItemProperties.IncludeAssets),
GetReferenceMetadataValue(reference, ProjectItemProperties.ExcludeAssets),
GetReferenceMetadataValue(reference, ProjectItemProperties.PrivateAssets));

var dependency = new LibraryDependency()
{
AutoReferenced = MSBuildStringUtility.IsTrue(GetReferenceMetadataValue(reference, ProjectItemProperties.IsImplicitlyDefined)),
GeneratePathProperty = MSBuildStringUtility.IsTrue(GetReferenceMetadataValue(reference, ProjectItemProperties.GeneratePathProperty)),
Expand All @@ -216,14 +222,11 @@ private static LibraryDependency ToPackageLibraryDependency(PackageReference ref
name: reference.Name,
versionRange: ToVersionRange(reference.Version, isCpvmEnabled),
typeConstraint: LibraryDependencyTarget.Package),
NoWarn = noWarn,
IncludeType = includeType,
SuppressParent = suppressParent,
};

MSBuildRestoreUtility.ApplyIncludeFlags(
dependency,
GetReferenceMetadataValue(reference, ProjectItemProperties.IncludeAssets),
GetReferenceMetadataValue(reference, ProjectItemProperties.ExcludeAssets),
GetReferenceMetadataValue(reference, ProjectItemProperties.PrivateAssets));

return dependency;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Globalization;
using System.IO;
using System.Linq;
Expand Down Expand Up @@ -128,7 +129,7 @@ protected override async Task<string> GetAssetsFilePathAsync(bool shouldThrow)
return (new[] { packageSpec }, null);
}

private Dictionary<string, CentralPackageVersion> GetCentralPackageVersions()
private IReadOnlyDictionary<string, CentralPackageVersion> GetCentralPackageVersions()
{
ThreadHelper.ThrowIfNotOnUIThread();

Expand All @@ -142,7 +143,6 @@ private Dictionary<string, CentralPackageVersion> GetCentralPackageVersions()
.ToDictionary(cpv => cpv.Name);
}


private CentralPackageVersion ToCentralPackageVersion(string packageId, string version)
{
if (string.IsNullOrEmpty(packageId))
Expand Down Expand Up @@ -220,7 +220,7 @@ public override async Task<bool> InstallPackageAsync(
BuildIntegratedInstallationContext __,
CancellationToken token)
{
var dependency = new LibraryDependency(noWarn: Array.Empty<NuGetLogCode>())
var dependency = new LibraryDependency()
{
LibraryRange = new LibraryRange(
name: packageId,
Expand Down Expand Up @@ -423,38 +423,44 @@ private async Task<PackageSpec> GetPackageSpecAsync(ISettings settings)
var packageReferences = (await ProjectServices
.ReferencesReader
.GetPackageReferencesAsync(targetFramework, CancellationToken.None))
.ToList();
.ToImmutableArray();

#pragma warning disable CS0618 // Type or member is obsolete
// Need to validate no project systems get this property via DTE, and if so, switch to GetPropertyValue
var packageTargetFallback = MSBuildStringUtility.Split(GetPropertySafe(_vsProjectAdapter.BuildProperties, ProjectBuildProperties.PackageTargetFallback))
.Select(NuGetFramework.Parse)
.ToList();

var assetTargetFallback = MSBuildStringUtility.Split(GetPropertySafe(_vsProjectAdapter.BuildProperties, ProjectBuildProperties.AssetTargetFallback))
var assetTargetFallbackList = MSBuildStringUtility.Split(GetPropertySafe(_vsProjectAdapter.BuildProperties, ProjectBuildProperties.AssetTargetFallback))
.Select(NuGetFramework.Parse)
.ToList();
#pragma warning restore CS0618 // Type or member is obsolete

var projectTfi = new TargetFrameworkInformation
{
FrameworkName = targetFramework,
Dependencies = packageReferences,
};

#pragma warning disable CS0618 // Type or member is obsolete
// Need to validate no project systems get this property via DTE, and if so, switch to GetPropertyValue
bool isCpvmEnabled = MSBuildStringUtility.IsTrue(GetPropertySafe(_vsProjectAdapter.BuildProperties, ProjectBuildProperties.ManagePackageVersionsCentrally));
#pragma warning restore CS0618 // Type or member is obsolete

IReadOnlyDictionary<string, CentralPackageVersion> centralPackageVersions = null;
if (isCpvmEnabled)
{
// Add the central version information and merge the information to the package reference dependencies
projectTfi.CentralPackageVersions.AddRange(GetCentralPackageVersions());
LibraryDependency.ApplyCentralVersionInformation(projectTfi.Dependencies, projectTfi.CentralPackageVersions);
centralPackageVersions = GetCentralPackageVersions();
packageReferences = LibraryDependency.ApplyCentralVersionInformation(packageReferences, centralPackageVersions);
}

// Apply fallback settings
AssetTargetFallbackUtility.ApplyFramework(projectTfi, packageTargetFallback, assetTargetFallback);
// Get fallback settings
(targetFramework, var imports, var assetTargetFallback, var warn) = AssetTargetFallbackUtility.GetFallbackFrameworkInformation(targetFramework, packageTargetFallback, assetTargetFallbackList);

var projectTfi = new TargetFrameworkInformation
{
AssetTargetFallback = assetTargetFallback,
CentralPackageVersions = centralPackageVersions,
Dependencies = packageReferences,
Imports = imports,
FrameworkName = targetFramework,
Warn = warn,
};

// Build up runtime information.

Expand Down
Loading

0 comments on commit 262f923

Please sign in to comment.