[Release/3.0] Add harvest validation logic to the all configurations tests (#40719)
authorJose Perez Rodriguez <joperezr@microsoft.com>
Fri, 6 Sep 2019 17:16:57 +0000 (10:16 -0700)
committerGitHub <noreply@github.com>
Fri, 6 Sep 2019 17:16:57 +0000 (10:16 -0700)
* Add harvest validation logic to the all configurations tests

* Updating Stable info on package index.

* Fix build break by readding unlisted package

eng/depProj.targets
eng/restore/repoRestore.targets
external/harvestPackages/harvestPackages.depproj
external/harvestPackages/harvestPackages.props [deleted file]
pkg/Microsoft.Private.PackageBaseline/packageIndex.json
pkg/test/testPackages.proj

index f200748..dcbd4f7 100644 (file)
@@ -68,7 +68,7 @@ See the LICENSE file in the project root for more information.
           BeforeTargets="ResolvePackageAssets"
           Condition="'$(VSDesignTimeBuild)' != 'true'" />
 
-  <Target Name="CoreCompile">
+  <Target Name="CoreCompile" Condition="'@(PackageReference)' != '' Or '@(PackageDownload)' == ''">
 
     <Error Condition="'$(NuGetDeploySourceItem)' != 'ReferenceCopyLocalPaths' AND
                       '$(NuGetDeploySourceItem)' != 'Reference' AND
index 43ee68c..f3917de 100644 (file)
@@ -1,12 +1,23 @@
-<Project InitialTargets="_ClearResolvePackageAssets">
+<Project InitialTargets="_ClearResolvePackageAssets" TreatAsLocalProperty="ExcludeRestorePackageImports">
   <PropertyGroup>
     <!-- Disable restoring of package references in our projects -->
     <RestoreProjectStyle Condition="'$(MSBuildProjectExtension)' != '.depproj'">None</RestoreProjectStyle>
   </PropertyGroup>
 
   <Import Project="$(RepositoryEngineeringDir)CodeAnalysis.targets" />
-  
+
+  <PropertyGroup>
+    <!-- Nuget will normally disable all generated imports as part of a restore to avoid 
+         non-determinism where first restore changes a subsequent restore,
+         but we need these since they define properties (like TargetFramework) needed by restore.
+         In this case we guarantee this is ok since these specific props are not restored by this project's restore. -->
+    <_excludeRestorePackageImports>$(ExcludeRestorePackageImports)</_excludeRestorePackageImports>
+    <ExcludeRestorePackageImports>false</ExcludeRestorePackageImports>
+  </PropertyGroup>
   <Import Project="$(ToolSetCommonDirectory)Tools.proj.nuget.g.targets" Condition="Exists('$(ToolSetCommonDirectory)Tools.proj.nuget.g.targets')" />
+  <PropertyGroup>
+    <ExcludeRestorePackageImports>$(_excludeRestorePackageImports)</ExcludeRestorePackageImports>
+  </PropertyGroup>
   
   <!--
   Hack workaround for not restoring each project. Instead, we turn off all the targets
index 03837d2..bc320e9 100644 (file)
@@ -1,47 +1,44 @@
-<Project Sdk="Microsoft.NET.Sdk">
+<Project InitialTargets="AddPackageDownload" Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <TargetFramework>netstandard2.0</TargetFramework>
   </PropertyGroup>
 
-  <Import Project="harvestPackages.props" />
-
   <Import Project="$(RepoRoot)pkg/baseline/baseline.props" />
 
-  <!--
-    Custom target to update the stable versions. Ideally we would just run this target as part of the build but
-    currently the restore step happens in CLI which doesn't have matching dependencies for the package task. Currently
-    they have different versions of nuget libraries. We can look at fixing that in the future but for now this will need
-    to be manually run to update the harvestPackages.props file.
-  -->
-  <Target Name="UpdateToLatestStablePackages">
+  <!-- only restore this project during the build, don't copy any of it's packages
+       The sole purpose of this project is to download packages that can be examined
+       for harvesting binaries & support. -->
+  <Target Name="Build" DependsOnTargets="RestorePackages" />
+
+  <Target Name="AddPackageDownload">
+    <ItemGroup>
+      <_AllPkgProjs Include="$(RepoRoot)src/**/*.pkgproj" />
+    </ItemGroup>
+    <!-- Need separate ItemGroups so right metadata gets populated -->
     <ItemGroup>
-      <PackageReference>
-        <!-- Set version to highest version possible to ensure we get the highest stable package version -->
-        <Version>255.255.255</Version>
-      </PackageReference>
+      <_AllPkgProjsToPackageIdentity Include="@(_AllPkgProjs -> '%(Filename)')" />
     </ItemGroup>
+
     <GetLastStablePackage
-        LatestPackages="@(PackageReference)"
-        PackageIndexes="$(PackageIndexFile)">
-        <Output TaskParameter="LastStablePackages" ItemName="_NewPackageReferences" />
+        LatestPackages="@(_AllPkgProjsToPackageIdentity)"
+        PackageIndexes="$(PackageIndexFile)"
+        DoNotAllowVersionsFromSameRelease="true">
+        <Output TaskParameter="LastStablePackages" ItemName="_PackageDownload" />
     </GetLastStablePackage>
 
+    <!-- Allow to override package download and versions in case there is already a PackageDownload set -->
     <ItemGroup>
-      <_Lines Include="&lt;Project xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;" />
-      <_Lines Include="&lt;!-- The versions can be updated by running UpdateToLatestStablePackages target in harvestPackages.depproj --&gt;" />
-      <_Lines Include="&lt;ItemGroup&gt;" />
-      <_Lines Include="&lt;PackageReference Include=&quot;%(_NewPackageReferences.Identity)&quot;&gt;&#13;&#10;  &lt;Version&gt;%(_NewPackageReferences.Version)&lt;/Version&gt;&#13;&#10;&lt;/PackageReference&gt;" />
-      <_Lines Include="&lt;/ItemGroup&gt;" />
-      <_Lines Include="&lt;/Project&gt;" />
+      <_OverridenPackageDownloads Include="@(_PackageDownload)" Condition="'@(PackageDownload)' == '@(_PackageDownload)' and %(Identity) != ''" />
+      <_PackageDownload Remove="@(_OverridenPackageDownloads)" />
+      <_PackageDownload Include="@(PackageDownload)" />
+
+      <PackageDownload Remove="@(PackageDownload)" />
+      <PackageDownload Include="@(_PackageDownload)" Condition="'%(_PackageDownload.IsImplicitlyDefined)' != 'true'" />
+      <!-- Add exact version to PackageDownload -->
+      <PackageDownload>
+        <Version>[%(Version)]</Version>
+      </PackageDownload>
     </ItemGroup>
-
-    <WriteLinesToFile Lines="@(_Lines)" File="harvestPackages.props" Overwrite="true" />
-
   </Target>
 
-  <!-- only restore this project during the build, don't copy any of it's packages
-       The sole purpose of this project is to download packages that can be examined
-       for harvesting binaries & support. -->
-  <Target Name="Build" DependsOnTargets="RestorePackages" />
-
 </Project>
\ No newline at end of file
diff --git a/external/harvestPackages/harvestPackages.props b/external/harvestPackages/harvestPackages.props
deleted file mode 100644 (file)
index 38fa48f..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-<!-- The versions can be updated by running UpdateToLatestStablePackages target in harvestPackages.depproj -->
-<ItemGroup>
-<PackageReference Include="Microsoft.CSharp">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="Microsoft.VisualBasic">
-  <Version>10.3.0</Version>
-</PackageReference>
-<PackageReference Include="Microsoft.Win32.Registry">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="Microsoft.Win32.Registry.AccessControl">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="Microsoft.Win32.SystemEvents">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="runtime.native.System.Data.SqlClient.sni">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Buffers">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.CodeDom">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Collections.Immutable">
-  <Version>1.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.ComponentModel.Annotations">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.ComponentModel.Composition">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Composition">
-  <Version>1.2.0</Version>
-</PackageReference>
-<PackageReference Include="System.Composition.AttributedModel">
-  <Version>1.2.0</Version>
-</PackageReference>
-<PackageReference Include="System.Composition.Convention">
-  <Version>1.2.0</Version>
-</PackageReference>
-<PackageReference Include="System.Composition.Hosting">
-  <Version>1.2.0</Version>
-</PackageReference>
-<PackageReference Include="System.Composition.Runtime">
-  <Version>1.2.0</Version>
-</PackageReference>
-<PackageReference Include="System.Composition.TypedParts">
-  <Version>1.2.0</Version>
-</PackageReference>
-<PackageReference Include="System.Configuration.ConfigurationManager">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Data.DataSetExtensions">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Data.Odbc">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Data.SqlClient">
-  <Version>4.6.1</Version>
-</PackageReference>
-<PackageReference Include="System.Diagnostics.DiagnosticSource">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.Diagnostics.PerformanceCounter">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.DirectoryServices">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.DirectoryServices.AccountManagement">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.DirectoryServices.Protocols">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Drawing.Common">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.IO.FileSystem.AccessControl">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.IO.Packaging">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.IO.Pipelines">
-  <Version>4.5.3</Version>
-</PackageReference>
-<PackageReference Include="System.IO.Ports">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Json">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Management">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Net.Http.WinHttpHandler">
-  <Version>4.5.4</Version>
-</PackageReference>
-<PackageReference Include="System.Net.WebSockets.WebSocketProtocol">
-  <Version>4.5.3</Version>
-</PackageReference>
-<PackageReference Include="System.Numerics.Tensors">
-  <Version>0.1.0</Version>
-</PackageReference>
-<PackageReference Include="System.Reflection.Context">
-  <Version>4.3.0</Version>
-</PackageReference>
-<PackageReference Include="System.Reflection.DispatchProxy">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.Reflection.Emit">
-  <Version>4.3.0</Version>
-</PackageReference>
-<PackageReference Include="System.Reflection.Metadata">
-  <Version>1.6.0</Version>
-</PackageReference>
-<PackageReference Include="System.Reflection.TypeExtensions">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.Runtime.Caching">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Runtime.CompilerServices.Unsafe">
-  <Version>4.5.2</Version>
-</PackageReference>
-<PackageReference Include="System.Runtime.WindowsRuntime">
-  <Version>4.3.0</Version>
-</PackageReference>
-<PackageReference Include="System.Runtime.WindowsRuntime.UI.Xaml">
-  <Version>4.3.0</Version>
-</PackageReference>
-<PackageReference Include="System.Security.AccessControl">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Cryptography.Cng">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Cryptography.OpenSsl">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Cryptography.Pkcs">
-  <Version>4.5.2</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Cryptography.ProtectedData">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Cryptography.Xml">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Permissions">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Security.Principal.Windows">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.ServiceModel.Syndication">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.ServiceProcess.ServiceController">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Text.Encoding.CodePages">
-  <Version>4.5.1</Version>
-</PackageReference>
-<PackageReference Include="System.Text.Encodings.Web">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Threading.AccessControl">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Threading.Channels">
-  <Version>4.5.0</Version>
-</PackageReference>
-<PackageReference Include="System.Threading.Tasks.Dataflow">
-  <Version>4.9.0</Version>
-</PackageReference>
-<PackageReference Include="System.Threading.Tasks.Extensions">
-  <Version>4.5.2</Version>
-</PackageReference>
-<PackageReference Include="System.ValueTuple">
-  <Version>4.5.0</Version>
-</PackageReference>
-</ItemGroup>
-</Project>
index 3e96322..00b85cf 100644 (file)
     },
     "Microsoft.CSharp": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0",
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
     },
     "Microsoft.Diagnostics.Tracing.EventSource.Redist": {
       "StableVersions": [
+        "1.0.24",
+        "1.0.26",
+        "1.1.24",
+        "1.1.25",
+        "1.1.26",
+        "1.1.28",
         "2.0.0",
         "2.0.1"
       ],
         "1.0.1",
         "1.0.2",
         "1.1.0",
+        "1.1.1",
+        "1.1.2",
         "2.0.0",
+        "2.0.1",
+        "2.0.2",
         "2.1.0",
         "2.1.1",
         "2.1.2",
         "2.1.3",
         "2.1.4",
-        "2.2.0"
+        "2.1.5",
+        "2.2.0",
+        "2.2.1",
+        "2.2.2"
       ],
       "BaselineVersion": "3.0.0",
       "InboxOn": {}
         "1.0.0",
         "1.0.1",
         "1.0.2",
+        "1.0.3",
+        "1.0.4",
+        "1.0.5",
+        "1.0.6",
+        "1.0.7",
         "1.1.0",
+        "1.1.1",
+        "1.1.2",
+        "1.1.3",
+        "1.1.4",
         "2.0.0",
         "2.1.0"
       ],
     },
     "Microsoft.VisualBasic": {
       "StableVersions": [
-        "10.0.1",
         "10.0.0",
+        "10.0.1",
         "10.1.0",
         "10.2.0",
         "10.3.0"
     "NETStandard.Library": {
       "StableVersions": [
         "1.6.0",
-        "1.6.1"
+        "1.6.1",
+        "2.0.0",
+        "2.0.1",
+        "2.0.2",
+        "2.0.3"
       ],
       "BaselineVersion": "1.6.1",
       "InboxOn": {}
     },
     "System.Collections.Immutable": {
       "StableVersions": [
+        "1.1.36",
         "1.1.37",
         "1.2.0",
-        "1.1.36",
         "1.3.0",
+        "1.3.1",
+        "1.3.2",
         "1.4.0",
         "1.5.0"
       ],
         "4.1.0",
         "4.3.0",
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
     "System.ComponentModel.EventBasedAsync": {
       "StableVersions": [
         "4.0.0",
-        "4.0.11",
         "4.0.10",
+        "4.0.11",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     "System.Configuration.ConfigurationManager": {
       "StableVersions": [
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
     "System.Console": {
       "StableVersions": [
         "4.0.0",
-        "4.3.0"
+        "4.0.1",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
       "StableVersions": [
         "4.1.0",
         "4.3.0",
+        "4.3.1",
         "4.4.0",
-        "4.5.1",
+        "4.4.1",
+        "4.4.2",
+        "4.4.3",
         "4.5.0",
+        "4.5.1",
         "4.6.0",
         "4.6.1"
       ],
       "StableVersions": [
         "4.0.0",
         "4.3.0",
+        "4.3.1",
+        "4.4.0",
         "4.4.1",
         "4.5.0",
         "4.5.1"
     },
     "System.Diagnostics.StackTrace": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.0.2",
         "4.3.0"
       ],
     },
     "System.IO.Compression.ZipFile": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     "System.IO.FileSystem.DriveInfo": {
       "StableVersions": [
         "4.0.0",
-        "4.3.0"
+        "4.0.1",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.IO.IsolatedStorage": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
         "4.0.0",
         "4.3.0",
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
         "4.0.0",
         "4.0.10",
         "4.1.0",
+        "4.1.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     },
     "System.Net.Http": {
       "StableVersions": [
+        "2.0.20126",
+        "2.0.20505",
+        "2.0.20710",
         "4.0.0",
         "4.1.0",
         "4.1.1",
-        "4.3.0"
+        "4.1.2",
+        "4.1.3",
+        "4.1.4",
+        "4.3.0",
+        "4.3.1",
+        "4.3.2",
+        "4.3.3",
+        "4.3.4"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Net.Http.Rtc": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
       "StableVersions": [
         "4.0.0",
         "4.0.1",
+        "4.0.2",
+        "4.0.3",
+        "4.0.4",
         "4.3.0",
+        "4.3.1",
+        "4.3.2",
         "4.3.3",
         "4.4.0",
         "4.5.0",
         "4.0.0",
         "4.0.10",
         "4.0.11",
-        "4.3.0"
+        "4.0.12",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
       "StableVersions": [
         "3.9.0",
         "4.0.0",
-        "4.0.11",
         "4.0.10",
+        "4.0.11",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     "System.Net.Security": {
       "StableVersions": [
         "4.0.0",
-        "4.3.0"
+        "4.0.1",
+        "4.0.2",
+        "4.3.0",
+        "4.3.1",
+        "4.3.2"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Net.Sockets": {
       "StableVersions": [
-        "4.1.0",
         "4.0.0",
+        "4.1.0",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     "System.Net.WebSockets.Client": {
       "StableVersions": [
         "4.0.0",
-        "4.3.0"
+        "4.0.1",
+        "4.0.2",
+        "4.3.0",
+        "4.3.1",
+        "4.3.2"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Net.WebSockets.WebSocketProtocol": {
       "StableVersions": [
-        "4.5.1",
         "4.5.0",
+        "4.5.1",
         "4.5.2",
         "4.5.3"
       ],
     },
     "System.Numerics.Vectors.WindowsRuntime": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.6.0",
     },
     "System.Private.DataContractSerialization": {
       "StableVersions": [
-        "4.1.1",
         "4.0.0",
+        "4.0.1",
         "4.1.0",
+        "4.1.1",
+        "4.1.2",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
       "StableVersions": [
         "4.0.0",
         "4.0.1",
-        "4.3.0"
+        "4.0.3",
+        "4.0.4",
+        "4.0.5",
+        "4.3.0",
+        "4.3.1",
+        "4.3.2"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {},
     },
     "System.Reflection.Context": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.6.0",
         "4.0.1",
         "4.3.0",
         "4.4.0",
-        "4.5.1",
-        "4.5.0"
+        "4.5.0",
+        "4.5.1"
       ],
       "BaselineVersion": "4.6.0",
       "InboxOn": {
       "BaselineVersion": "4.6.0",
       "InboxOn": {
         "netcoreapp2.0": "4.1.0.0",
-        "netcoreapp3.0": "4.1.1.0",
         "netcoreapp2.1": "4.1.1.0",
         "net45": "4.0.0.0",
         "netstandard2.1": "4.0.0.0",
     },
     "System.Reflection.Metadata": {
       "StableVersions": [
+        "1.0.21",
         "1.0.22",
-        "1.3.0",
         "1.1.0",
         "1.2.0",
+        "1.3.0",
         "1.4.1",
+        "1.4.2",
+        "1.4.3",
         "1.5.0",
         "1.6.0"
       ],
         "4.0.10",
         "4.0.20",
         "4.1.0",
-        "4.3.0"
+        "4.1.1",
+        "4.1.2",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Runtime.CompilerServices.Unsafe": {
       "StableVersions": [
+        "4.0.0",
+        "4.3.0",
         "4.4.0",
         "4.5.0",
         "4.5.1",
         "4.0.0",
         "4.0.10",
         "4.1.0",
-        "4.3.0"
+        "4.1.1",
+        "4.1.2",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Runtime.Serialization.Json": {
       "StableVersions": [
-        "4.0.2",
         "4.0.0",
         "4.0.1",
+        "4.0.2",
+        "4.0.3",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     "System.Runtime.Serialization.Primitives": {
       "StableVersions": [
         "4.0.0",
-        "4.1.1",
         "4.0.10",
         "4.1.0",
+        "4.1.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     "System.Runtime.Serialization.Xml": {
       "StableVersions": [
         "4.0.0",
-        "4.1.1",
         "4.0.10",
+        "4.0.11",
         "4.1.0",
+        "4.1.1",
+        "4.1.2",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     },
     "System.Runtime.WindowsRuntime.UI.Xaml": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.6.0",
         "4.0.0",
         "4.3.0",
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
     "System.Security.Cryptography.Algorithms": {
       "StableVersions": [
         "4.2.0",
-        "4.3.0"
+        "4.2.1",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     "System.Security.Cryptography.OpenSsl": {
       "StableVersions": [
         "4.0.0",
+        "4.0.1",
         "4.3.0",
+        "4.3.1",
         "4.4.0",
         "4.5.0",
         "4.5.1"
     "System.Security.Cryptography.X509Certificates": {
       "StableVersions": [
         "4.1.0",
-        "4.3.0"
+        "4.1.1",
+        "4.1.2",
+        "4.3.0",
+        "4.3.1",
+        "4.3.2"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     "System.Security.Cryptography.Xml": {
       "StableVersions": [
         "4.4.0",
+        "4.4.1",
+        "4.4.2",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
     "System.Security.Permissions": {
       "StableVersions": [
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
         "4.0.0",
         "4.3.0",
         "4.4.0",
+        "4.4.1",
         "4.5.0",
         "4.5.1"
       ],
         "4.1.0",
         "4.3.0",
         "4.4.0",
+        "4.4.1",
         "4.5.0"
       ],
       "BaselineVersion": "4.6.0",
     "System.Text.Encodings.Web": {
       "StableVersions": [
         "4.0.0",
+        "4.0.1",
         "4.3.0",
+        "4.3.1",
         "4.4.0",
         "4.5.0"
       ],
         "4.0.0",
         "4.0.10",
         "4.1.0",
-        "4.3.0"
+        "4.1.1",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Threading.Tasks": {
       "StableVersions": [
+        "2.0.0",
+        "2.0.1",
+        "2.1.0",
+        "2.1.1",
+        "2.1.2",
+        "3.0.0",
+        "3.0.1",
+        "3.1.1",
         "4.0.0",
         "4.0.10",
         "4.0.11",
     },
     "System.Threading.Tasks.Dataflow": {
       "StableVersions": [
-        "4.6.0",
+        "4.5.24",
         "4.5.25",
+        "4.6.0",
         "4.7.0",
         "4.8.0",
         "4.9.0"
         "4.0.0",
         "4.3.0",
         "4.4.0",
+        "4.5.0",
         "4.5.1",
         "4.5.2",
-        "4.5.0"
+        "4.5.3"
       ],
       "BaselineVersion": "4.5.2",
       "InboxOn": {
     "System.ValueTuple": {
       "StableVersions": [
         "4.3.0",
+        "4.3.1",
         "4.4.0",
         "4.5.0"
       ],
         "4.0.0",
         "4.0.10",
         "4.0.11",
-        "4.3.0"
+        "4.0.12",
+        "4.3.0",
+        "4.3.1"
       ],
       "BaselineVersion": "4.3.0",
       "InboxOn": {
     },
     "System.Xml.XPath.XDocument": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
     },
     "System.Xml.XPath.XmlDocument": {
       "StableVersions": [
-        "4.0.1",
         "4.0.0",
+        "4.0.1",
         "4.3.0"
       ],
       "BaselineVersion": "4.3.0",
       "System.Xml.XDocument"
     ]
   }
-}
+}
\ No newline at end of file
index 95ab2d8..34c12b2 100644 (file)
     <Exec Command="$(TestBuildCommand) &quot;$(TestProject)&quot;" EnvironmentVariables="@(CliEnvironment)" StandardOutputImportance="High" />
   </Target>
 
-  <Target Name="Build" DependsOnTargets="BuildProjects;ArchiveHelixItems" />
+  <UsingTask TaskName="ValidateHarvestVersionIsLatestForRelease" AssemblyFile="$(PackagingTaskDir)Microsoft.DotNet.Build.Tasks.Packaging.dll"/>
+  <Target Name="HarvestVersionValidation">
+    <!-- This target will validate that all packages that are harvesting assets will be doing it from the right package version.
+         If an error is detected, the task will print out the command needed in order to fix the problem. This test requires
+         network access, as what it does is ensure that the harvest version we are using is the latest stable available for that
+         specific package release. -->
+    <ValidateHarvestVersionIsLatestForRelease PackageReports="@(PackageReports)" />
+  </Target>
+
+  <Target Name="Build" DependsOnTargets="BuildProjects;HarvestVersionValidation;ArchiveHelixItems" />
 
   <!-- define test to do nothing, for this project Build does all the testing -->
   <Target Name="Test" />