Add Microsoft.Private.CoreFx.OOB package (dotnet/corefx#37784)
authorViktor Hofer <viktor.hofer@microsoft.com>
Tue, 21 May 2019 00:18:36 +0000 (02:18 +0200)
committerGitHub <noreply@github.com>
Tue, 21 May 2019 00:18:36 +0000 (02:18 +0200)
* Add Microsoft.Private.CoreFx.OOB package

Commit migrated from https://github.com/dotnet/corefx/commit/ef1a5aa730098b6c3350977a991232c1ff11cfe3

src/libraries/Directory.Build.targets
src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds [new file with mode: 0644]
src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.pkgproj [new file with mode: 0644]
src/libraries/pkg/Microsoft.Private.PackageBaseline/packageIndex.json
src/libraries/pkg/descriptions.json

index 5b2bf4d..3fb5559 100644 (file)
     </ItemGroup>
   </Target>
 
+  <!-- Used for packaging -->
+  <Target Name="IsNotNetCoreAppProject" Returns="@(IsNotNetCoreAppProjectResult)">
+    <ItemGroup>
+      <IsNotNetCoreAppProjectResult Condition="'$(IsNetCoreApp)' != 'true'" Include="$(MSBuildProjectName)" Version="$(PackageVersion)" />
+    </ItemGroup>
+  </Target>
+
   <!-- Routing dotnet test to a test project's BuildAndTest target. -->
   <Target Name="VSTest"
           Condition="'$(IsTestProject)' == 'true' and '$(IsTestSupportProject)' != 'true'"
diff --git a/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds b/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.builds
new file mode 100644 (file)
index 0000000..17a7f16
--- /dev/null
@@ -0,0 +1,10 @@
+<Project DefaultTargets="Build">
+  <Import Project="$([MSBuild]::GetPathOfFileAbove(Directory.Build.props))" />
+
+  <!-- only build during the AllConfigurations leg because it depends on other nupkgs from this leg -->
+  <ItemGroup Condition="'$(BuildAllConfigurations)' == 'true'">
+    <Project Include="$(MSBuildProjectName).pkgproj" />
+  </ItemGroup>
+
+  <Import Project="$([MSBuild]::GetPathOfFileAbove(dir.traversal.targets))" />
+</Project>
\ No newline at end of file
diff --git a/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.pkgproj b/src/libraries/pkg/Microsoft.Private.CoreFx.OOB/Microsoft.Private.CoreFx.OOB.pkgproj
new file mode 100644 (file)
index 0000000..0c3933b
--- /dev/null
@@ -0,0 +1,30 @@
+<Project DefaultTargets="Build" InitialTargets="FindNetCoreAppPackages">
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.props))\Directory.Build.props" />
+  <PropertyGroup>
+    <!-- We use the PackageVersion property defined in Packaging.props for the Prerelease packages which are using it to be built -->
+    <_PreReleasePackageVersion>$(PackageVersion)</_PreReleasePackageVersion>
+    <!-- We don't need to harvest the stable packages to build this -->
+    <HarvestStablePackage>false</HarvestStablePackage>
+  </PropertyGroup>
+
+  <Target Name="FindNetCoreAppPackages">
+
+    <ItemGroup>
+      <PkgProjGlobPath Include="$(SourceDir)/**/*.pkgproj" />
+    </ItemGroup>
+
+    <MSBuild Projects="@(PkgProjGlobPath)"
+             Targets="IsNotNetCoreAppProject"
+             BuildInParallel="true">
+      <Output TaskParameter="TargetOutputs" ItemName="PrereleaseLibraryPackage" />
+    </MSBuild>
+
+    <ItemGroup>
+      <Dependency Include="@(PrereleaseLibraryPackage)"
+                  Condition="!$([System.String]::new('%(Identity)').Contains('Private')) and !$([System.String]::new('%(Identity)').EndsWith('Experimental')) and !$([System.String]::new('%(Identity)').StartsWith('runtime.'))" />
+    </ItemGroup>
+    
+  </Target>
+
+  <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), Directory.Build.targets))\Directory.Build.targets" />
+</Project>
index e57d581..e012d82 100644 (file)
     "Microsoft.Private.CoreFx.NETCoreApp": {
       "InboxOn": {}
     },
+    "Microsoft.Private.CoreFx.OOB": {
+      "InboxOn": {}
+    },
     "Microsoft.Private.PackageBaseline": {
       "InboxOn": {}
     },
index ca6c9a4..6367b98 100644 (file)
     "CommonTypes": []
   },
   {
+    "Name": "Microsoft.Private.CoreFx.OOB",
+    "Description": "Package used to represent out-of-band packages that are not included in NetCoreApp.",
+    "CommonTypes": []
+  },
+  {
     "Name": "Microsoft.Private.CoreFx.UAP",
     "Description": "Package used to represent the portions of UAP that come from CoreFx.",
     "CommonTypes": []