Prechádzať zdrojové kódy

Include symbols in published output

Nate McMaster 8 rokov pred
rodič
commit
5aae1f91a8
3 zmenil súbory, kde vykonal 25 pridanie a 18 odobranie
  1. 8 18
      build/Publish.targets
  2. 14 0
      build/SharedFx.targets
  3. 3 0
      build/repo.props

+ 8 - 18
build/Publish.targets

@@ -138,33 +138,24 @@
 
     <!-- Join required because shipping category is stored in universe (PackageArtifact), but information about package ID and version comes from repos (ArtifactInfo). -->
     <RepoTasks.JoinItems
-      Left="@(_PackageArtifactInfo)" LeftKey="PackageId" LeftMetadata="*" LeftItemSpec="Identity"
+      Left="@(_PackageArtifactInfo->WithMetadataValue('Category',''))" LeftKey="PackageId" LeftMetadata="*" LeftItemSpec="Identity"
       Right="@(PackageArtifact)" RightMetadata="Category">
       <Output TaskParameter="JoinResult" ItemName="_PackageArtifactInfoWithCategory" />
     </RepoTasks.JoinItems>
 
-    <ItemGroup>
-      <_MissingPackageArtifact Include="@(PackageArtifact)" />
-      <_MissingPackageArtifact Remove="%(_PackageArtifactInfoWithCategory.PackageId)" />
-    </ItemGroup>
-
     <RepoTasks.JoinItems
-      Left="@(_SymbolsPackageArtifactInfo)" LeftKey="PackageId" LeftMetadata="*" LeftItemSpec="Identity"
+      Left="@(_SymbolsPackageArtifactInfo->WithMetadataValue('Category',''))" LeftKey="PackageId" LeftMetadata="*" LeftItemSpec="Identity"
       Right="@(PackageArtifact)" RightMetadata="Category">
       <Output TaskParameter="JoinResult" ItemName="_SymbolsArtifactInfoWithCategory" />
     </RepoTasks.JoinItems>
 
-    <!--
-      Add symbols packages to PackageToPublish after validating PackageToPublish matches PackageArtifact.
-      We don't always produce a symbols package for each regular packages.
-    -->
     <ItemGroup>
       <PackageToPublish Include="%(_PackageArtifactInfoWithCategory.ArtifactPath)" Category="%(_PackageArtifactInfoWithCategory.Category)" />
+      <PackageToPublish Include="%(_PackageArtifactInfo.ArtifactPath)" Category="%(_PackageArtifactInfo.Category)" Condition="'%(_PackageArtifactInfo.Category)' != ''" />
       <PackageToPublish Include="%(_SymbolsArtifactInfoWithCategory.ArtifactPath)" Category="%(_SymbolsArtifactInfoWithCategory.Category)" />
+      <PackageToPublish Include="%(_SymbolsPackageArtifactInfo.ArtifactPath)" Category="%(_SymbolsPackageArtifactInfo.Category)" Condition="'%(_SymbolsPackageArtifactInfo.Category)' != ''" />
     </ItemGroup>
-  </Target>
 
-  <Target Name="_CheckFilesToPublish">
     <ItemGroup>
       <_MissingArtifactFile Include="@(FilesToPublish)" Condition="!Exists(%(FilesToPublish.Identity))" />
       <_MissingArtifactFile Include="@(NpmPackageToPublish)" Condition="!Exists(%(NpmPackageToPublish.Identity))" />
@@ -172,15 +163,14 @@
     </ItemGroup>
 
     <Error Text="Missing expected files:%0A - @(_MissingArtifactFile, '%0A - ')" Condition="@(_MissingArtifactFile->Count()) != 0" />
-    <Error Text="Missing expected packages from PackageToPublish. These were defined as expected PackageArtifact's in artifacts.props: %0A - @(_MissingPackageArtifact, '%0A - ')" Condition="@(_MissingPackageArtifact->Count()) != 0" />
   </Target>
 
-  <Target Name="CopyToPublishArtifacts" DependsOnTargets="_CheckFilesToPublish">
+  <Target Name="CopyToPublishArtifacts" DependsOnTargets="GetFilesToPublish">
     <Copy SourceFiles="%(FilesToPublish.Identity)" DestinationFiles="$(ArtifactsDir)%(FilesToPublish.RelativeBlobPath)" Condition="'%(FilesToPublish.RelativeBlobPath)' != ''" />
   </Target>
 
   <Target Name="PublishToMyGet"
-          DependsOnTargets="_CheckFilesToPublish;GetToolsets"
+          DependsOnTargets="GetFilesToPublish;GetToolsets"
           Condition="'$(PublishToMyget)' == 'true'">
 
     <Error Text="Missing required property: PublishMyGetFeedUrl"  Condition=" '$(PublishMyGetFeedUrl)' == '' "/>
@@ -221,7 +211,7 @@
   </Target>
 
   <Target Name="PublishToAzureFeed"
-    DependsOnTargets="_CheckFilesToPublish"
+    DependsOnTargets="GetFilesToPublish"
     Condition="'$(PublishToAzureFeed)' == 'true'">
 
     <PropertyGroup>
@@ -244,7 +234,7 @@
   </Target>
 
   <Target Name="PublishToTransportFeed"
-    DependsOnTargets="ResolveCommitHash;GetFilesToPublish;_CheckFilesToPublish"
+    DependsOnTargets="ResolveCommitHash;GetFilesToPublish"
     Condition="'$(PublishToTransportFeed)' == 'true'">
 
     <ItemGroup>

+ 14 - 0
build/SharedFx.targets

@@ -22,6 +22,20 @@
       Properties="PackageOutputPath=$(BuildDir);BuildNumber=$(BuildNumber);DesignTimeBuild=true;IsFinalBuild=$(IsFinalBuild)">
       <Output TaskParameter="TargetOutputs" ItemName="ArtifactInfo" />
     </MSBuild>
+
+    <ItemGroup>
+      <!-- Cartesian products in MSBuild are fun :) -->
+      <_SharedFrameworkSymbolsPackage Include="@(SharedFrameworkName)">
+        <Rid>%(AllSharedFxRIDs.Identity)</Rid>
+      </_SharedFrameworkSymbolsPackage>
+      <_SharedFrameworkSymbolsPackage Update="@(_SharedFrameworkSymbolsPackage)" PackageId="runtime.%(Rid).%(Identity)" />
+      <ArtifactInfo Include="@(_SharedFrameworkSymbolsPackage->'$(BuildDir)%(PackageId).$(PackageVersion).symbols.nupkg')">
+        <ArtifactType>NuGetSymbolsPackage</ArtifactType>
+        <PackageId>%(_SharedFrameworkSymbolsPackage.PackageId)</PackageId>
+        <Version>$(PackageVersion)</Version>
+        <Category>shipoob</Category>
+      </ArtifactInfo>
+    </ItemGroup>
   </Target>
 
   <Target Name="_BuildMetapackage" DependsOnTargets="ResolveRepoInfo">

+ 3 - 0
build/repo.props

@@ -34,6 +34,9 @@
     <NativeInstaller Include="x64" FileExt=".deb" />
     <NativeInstaller Include="x64" FileExt=".rpm" />
     <NativeInstaller Include="rh.rhel.7-x64" FileExt=".rpm" />
+
+    <SharedFrameworkName Include="Microsoft.AspNetCore.All" />
+    <SharedFrameworkName Include="Microsoft.AspNetCore.App" />
   </ItemGroup>
 
   <ItemGroup>