Re-enable packages for BuildAllConfigurations#16191
Conversation
| <SkipBaseLineCheck>true</SkipBaseLineCheck> | ||
| <LineupPackageVersion Condition="'$(LineupPackageVersion)' == ''">2.0.0</LineupPackageVersion> | ||
| <PlatformPackageVersion Condition="'$(PlatformPackageVersion)' == ''">2.0.0</PlatformPackageVersion> | ||
| <PackageTargetRuntime Condition="'$(PackageTargetRuntime)' != '' AND '$(PackageTargetRuntimeSuffix)' != ''">$(PackageTargetRuntime)-$(PackageTargetRuntimeSuffix)</PackageTargetRuntime> |
There was a problem hiding this comment.
I plan to move support for PackageTargetRuntimeSuffix into buildtools. The purpose of this is to allow both TargetGroup and OSGroup to independently contribute to a compound RID.
| @@ -0,0 +1,1292 @@ | |||
| <?xml version="1.0" encoding="utf-8"?> | |||
There was a problem hiding this comment.
I actually didn't end up using this and will remove it.
The libraries for these are disabled.
|
|
||
| <!-- Runs in a leaf project (eg: csproj) to determine configurations to package --> | ||
| <Target Name="GetPackageConfigurations" | ||
| Returns="$(PackageConfigurations)"> |
There was a problem hiding this comment.
This enables an optionally independent property for the configurations that go in the package. I'm open to other knobs here. Perhaps a better semantic would be ExcludePackageConfigurations, where PackageConfigurations = BuildConfigurations - ExcludePackageConfigurations.
| <BuildConfigurationImportFile>$(ToolsDir)/configuration/configuration.props</BuildConfigurationImportFile> | ||
|
|
||
| <!-- if PKGPROJ doesn't set BuildConfigurations, make sure it only builds for TargetGroup=package or BuildAllConfigurations --> | ||
| <BuildConfigurations Condition="'$(MSBuildProjectExtension)' == '.pkgproj' AND '$(BuildConfigurations)' == ''">package</BuildConfigurations> |
There was a problem hiding this comment.
I needed to have a TargetGroup and a BuildConfigurations value so that packages wouldn't just get the running BuildConfiguration, which contains an OSGroup, which would set PackageTargetRuntime: even for identity packages.
| <Import Project="$(BuildConfigurationImportFile)" Condition="Exists('$(BuildConfigurationImportFile)')" /> | ||
|
|
||
| <!-- Import packaging props --> | ||
| <Import Project="$(MSBuildThisFileDirectory)Packaging.props"/> |
There was a problem hiding this comment.
This reordering can be removed once I put PackageTargetRuntimeSuffix in buildtools
| <BuildConfigurations> | ||
| uap-Windows_NT; | ||
| uapaot-Windows_NT; | ||
| uap; |
There was a problem hiding this comment.
Per above, I use the OSGroup agnostic configurations because OSGroup implies a PackageTargetRuntime.
There was a problem hiding this comment.
But if we do this, won't we try to build this package in non-Windows builds as well? I believe that would fail since most uap configurations are Windows only.
There was a problem hiding this comment.
Only if someone tried to Build UAP targetgroup there...
This turns the package build back on and fixes all packages so that they build. There is still work to do to fix dependencies.
All runtime packages will be part of the framework package. One exception (still TBD) is SqlClient's SNI.dll.
For all libraries that no longer ship in packages, remove baseline entries for the non-shipping versions.
This to start I did a one-time call of UpdatePackageIndex specifying InboxFrameworkListFolder=<buildTools>\FrameworkLists This committed all the previous framework lists to the package index. Then I updated using the included target to include the inbox items from framework packages.
|
This is nearly ready. I'm waiting on an official build of Build-tools to come out with these changes dotnet/buildtools#1337. That's currently blocked on the myget outage. Once that's in I'll commit the update to this PR and merge it after passing CI. /cc @ahsonkhan @davidfowl |
|
Looks like CI is still failing due to MyGet issues. Will wait some time then rerun. |
|
@dotnet-bot test Innerloop Ubuntu14.04 Release Build and Test |
Re-enable packages for BuildAllConfigurations Commit migrated from dotnet/corefx@9d1d63f
Re-enable packages for BuildAllConfigurations Commit migrated from dotnet/corefx@9d1d63f
/cc @weshaggard @joperezr @mellinoe @chcosta
This re-enables package build in the new engineering infrastructure. It's still using the old method for dependency harvesting. I need to do some work there, this is the first step.