Add missing assemblies to ref pack (#19161)
* Add missing assemblies to ref pack * amend * Update comments too * Use patchVersion=0 for ref pack dependencies * Fixup versions * Enable targeting pack tests * Fix targeting pack test * Feedback * Update Microsoft.AspNetCore.App.Ref.csproj * Downgrade System.* versions for all ref/ projects - yeah, @JunTaoLuo and I agreed w/ you @wtgodbe * Update condition Co-authored-by: William Godbe <wigodbe@microsoft.com> Co-authored-by: Doug Bunting <6431421+dougbu@users.noreply.github.com>
This commit is contained in:
parent
99cf3bc190
commit
042e642aea
|
|
@ -84,11 +84,11 @@
|
|||
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
|
||||
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>
|
||||
|
||||
<!-- Produce targeting pack installers/packages once per major.minor except in extraordinary cases i.e. 3.1.2. -->
|
||||
<!-- We can remove the 3.1.2 line from any branch other than release/3.1 and from here after 3.1.2 is released. -->
|
||||
<!-- Produce targeting pack installers/packages once per major.minor except in extraordinary cases i.e. 3.1.3. -->
|
||||
<!-- We can remove the 3.1.3 line from any branch other than release/3.1 and from here after 3.1.3 is released. -->
|
||||
<IsTargetingPackBuilding Condition=" '$(DotNetBuildFromSource)' == 'true' ">false</IsTargetingPackBuilding>
|
||||
<IsTargetingPackBuilding
|
||||
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(VersionPrefix)' == '3.1.2' ">true</IsTargetingPackBuilding>
|
||||
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(VersionPrefix)' == '3.1.3' ">true</IsTargetingPackBuilding>
|
||||
<IsTargetingPackBuilding
|
||||
Condition=" '$(IsTargetingPackBuilding)' == '' AND '$(AspNetCorePatchVersion)' != '0' ">false</IsTargetingPackBuilding>
|
||||
<IsTargetingPackBuilding Condition=" '$(IsTargetingPackBuilding)' == '' ">true</IsTargetingPackBuilding>
|
||||
|
|
|
|||
|
|
@ -6,6 +6,19 @@
|
|||
-->
|
||||
<Project>
|
||||
|
||||
<!-- For the targeting pack, always use packages with PatchVersion=0 -->
|
||||
<PropertyGroup Condition="'$(MSBuildProjectName)' == 'Microsoft.AspNetCore.App.Ref' OR '$(IsReferenceAssemblyProject)' == 'true' ">
|
||||
<SystemIOPipelinesPackageVersion>$(SystemIOPipelinesPackageVersion.Split('.')[0]).$(SystemIOPipelinesPackageVersion.Split('.')[1]).0</SystemIOPipelinesPackageVersion>
|
||||
<SystemSecurityCryptographyXmlPackageVersion>$(SystemSecurityCryptographyXmlPackageVersion.Split('.')[0]).$(SystemSecurityCryptographyXmlPackageVersion.Split('.')[1]).0</SystemSecurityCryptographyXmlPackageVersion>
|
||||
<MicrosoftWin32SystemEventsPackageVersion>$(MicrosoftWin32SystemEventsPackageVersion.Split('.')[0]).$(MicrosoftWin32SystemEventsPackageVersion.Split('.')[1]).0</MicrosoftWin32SystemEventsPackageVersion>
|
||||
<SystemDiagnosticsEventLogPackageVersion>$(SystemDiagnosticsEventLogPackageVersion.Split('.')[0]).$(SystemDiagnosticsEventLogPackageVersion.Split('.')[1]).0</SystemDiagnosticsEventLogPackageVersion>
|
||||
<SystemDrawingCommonPackageVersion>$(SystemDrawingCommonPackageVersion.Split('.')[0]).$(SystemDrawingCommonPackageVersion.Split('.')[1]).0</SystemDrawingCommonPackageVersion>
|
||||
<SystemSecurityCryptographyPkcsPackageVersion>$(SystemSecurityCryptographyPkcsPackageVersion.Split('.')[0]).$(SystemSecurityCryptographyPkcsPackageVersion.Split('.')[1]).0</SystemSecurityCryptographyPkcsPackageVersion>
|
||||
<SystemSecurityPermissionsPackageVersion>$(SystemSecurityPermissionsPackageVersion.Split('.')[0]).$(SystemSecurityPermissionsPackageVersion.Split('.')[1]).0</SystemSecurityPermissionsPackageVersion>
|
||||
<SystemWindowsExtensionsPackageVersion>$(SystemWindowsExtensionsPackageVersion.Split('.')[0]).$(SystemWindowsExtensionsPackageVersion.Split('.')[1]).0</SystemWindowsExtensionsPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<!-- Dependencies from aspnet/Extensions -->
|
||||
<ExternalAspNetCoreAppReference Include="Microsoft.Extensions.Caching.Abstractions" Version="$(MicrosoftExtensionsCachingAbstractionsPackageVersion)" />
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
<!-- TargetingPackVersionPrefix is used by projects, like .deb and .rpm, which use slightly different version formats. -->
|
||||
<TargetingPackVersionPrefix>$(VersionPrefix)</TargetingPackVersionPrefix>
|
||||
<!-- Targeting packs do not produce patch versions in servicing builds. No API changes are allowed in patches. -->
|
||||
<TargetingPackVersionPrefix Condition="'$(IsTargetingPackBuilding)' != 'true'">$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).2</TargetingPackVersionPrefix>
|
||||
<TargetingPackVersionPrefix Condition="'$(IsTargetingPackBuilding)' != 'true'">$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).3</TargetingPackVersionPrefix>
|
||||
<ExperimentalVersionPrefix>0.3.$(AspNetCorePatchVersion)</ExperimentalVersionPrefix>
|
||||
<!-- ANCM versioning is intentionally 10 + AspNetCoreMajorVersion because earlier versions of ANCM shipped as 8.x. -->
|
||||
<AspNetCoreModuleVersionMajor>$([MSBuild]::Add(10, $(AspNetCoreMajorVersion)))</AspNetCoreModuleVersionMajor>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,8 @@
|
|||
<PackageId>$(TargetingPackName)</PackageId>
|
||||
<VersionPrefix>$(TargetingPackVersionPrefix)</VersionPrefix>
|
||||
<!-- This is a reference package and does not include any dependencies. -->
|
||||
<NoWarn>$(NoWarn);NU5128</NoWarn>
|
||||
<!-- We also disable warnings about package downgrades, because we intentionally reference lower versions of certain packages -->
|
||||
<NoWarn>$(NoWarn);NU5128;NU1605</NoWarn>
|
||||
|
||||
<PackageDescription>Provides a default set of APIs for building an ASP.NET Core application. Contains reference assemblies, documentation, and other design-time assets.
|
||||
|
||||
|
|
@ -130,7 +131,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
|||
<!-- Exclude transitive external dependencies that are not directly referenced by projects in AspNetCore or Extensions -->
|
||||
<AspNetCoreReferenceAssemblyPath
|
||||
Include="@(ReferencePathWithRefAssemblies)"
|
||||
Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' == 'true'"
|
||||
Condition="'%(ReferencePathWithRefAssemblies.IsReferenceAssembly)' != 'false'"
|
||||
Exclude="
|
||||
@(_ReferencedExtensionsRefAssemblies);
|
||||
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'Microsoft.NETCore.App.Ref'));
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
<RootNamespace>Microsoft.AspNetCore</RootNamespace>
|
||||
<!-- https://github.com/aspnet/AspNetCore/issues/7939: This unit test requires the shared framework be available in Helix. -->
|
||||
<BuildHelixPayload>false</BuildHelixPayload>
|
||||
<VerifyAncmBinary Condition="'$(TargetOsName)' == 'win' AND '$(TargetArchitecture)' != 'arm'">true</VerifyAncmBinary>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
@ -35,6 +36,10 @@
|
|||
<_Parameter1>TargetingPackLayoutRoot</_Parameter1>
|
||||
<_Parameter2>$(TargetingPackLayoutRoot)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
<AssemblyAttribute Include="Microsoft.AspNetCore.TestData">
|
||||
<_Parameter1>VerifyAncmBinary</_Parameter1>
|
||||
<_Parameter2>$(VerifyAncmBinary)</_Parameter2>
|
||||
</AssemblyAttribute>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ namespace Microsoft.AspNetCore
|
|||
_targetingPackRoot = Path.Combine(TestData.GetTestDataValue("TargetingPackLayoutRoot"), "packs", "Microsoft.AspNetCore.App.Ref", TestData.GetTestDataValue("TargetingPackVersion"));
|
||||
}
|
||||
|
||||
[Fact(Skip="https://github.com/aspnet/AspNetCore/issues/14832")]
|
||||
[Fact]
|
||||
public void AssembliesAreReferenceAssemblies()
|
||||
{
|
||||
IEnumerable<string> dlls = Directory.GetFiles(_targetingPackRoot, "*.dll", SearchOption.AllDirectories);
|
||||
|
|
@ -55,7 +55,7 @@ namespace Microsoft.AspNetCore
|
|||
});
|
||||
}
|
||||
|
||||
[Fact(Skip="https://github.com/aspnet/AspNetCore/issues/14832")]
|
||||
[Fact]
|
||||
public void PlatformManifestListsAllFiles()
|
||||
{
|
||||
var platformManifestPath = Path.Combine(_targetingPackRoot, "data", "PlatformManifest.txt");
|
||||
|
|
@ -90,6 +90,12 @@ namespace Microsoft.AspNetCore
|
|||
})
|
||||
.ToHashSet();
|
||||
|
||||
if (!TestData.VerifyAncmBinary())
|
||||
{
|
||||
actualAssemblies.Remove("aspnetcorev2_inprocess");
|
||||
expectedAssemblies.Remove("aspnetcorev2_inprocess");
|
||||
}
|
||||
|
||||
var missing = expectedAssemblies.Except(actualAssemblies);
|
||||
var unexpected = actualAssemblies.Except(expectedAssemblies);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// 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.
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
|
||||
|
|
@ -20,6 +21,8 @@ namespace Microsoft.AspNetCore
|
|||
|
||||
public static string GetTargetingPackDependencies() => GetTestDataValue("TargetingPackDependencies");
|
||||
|
||||
public static bool VerifyAncmBinary() => string.Equals(GetTestDataValue("VerifyAncmBinary"), "true", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
public static string GetTestDataValue(string key)
|
||||
=> typeof(TestData).Assembly.GetCustomAttributes<TestDataAttribute>().Single(d => d.Key == key).Value;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue