Pin LZMA shared framework versions for 2.2
JunTaoLuo opened this issue · comments
For every release where we still build the LZMA, we need to pin the version of the NETCore.App and AspNetCore.App we use when we generate the LZMA to the implicit versions set by the SDKs. By default, in every non-rtm build we set this to the latest ingested runtimes but we need to make sure this is done when we release the first 2.2.1 patch.
cc @natemcmaster
We have to define the pinned versions somewhere and we can't really infer them to always be Major.Minor.0 since we have situations like we have for 2.1.1 and 2.1.3 where we reset our baseline implicit versions. But maybe we can make these changes a little more obvious:
- Add the pinned versions (e.g.
LZMAMicrosoftAspNetCoreAppAll22PackageVersion
) toversions.props
and set them to 2.2.0 (for now). We will need to update these as necessary but putting them in theversions.props
file may increase visibility. - Update the LZMA generation step to choose between
LZMAMicrosoftAspNetCoreAppAll22PackageVersion
andPackageVersion
based on thePrereleaseVersionLabel
property. This way, for prerelease builds, we will continue to use the latest bundled versions of the dotnet and aspnet shared frameworks. Once we switch to rtm releases, it will use the pinned versions instead.
Actually I don't think using PrereleaseVersionLabel
will work since the first time we build 2.2.0-rtm, we still need to use the latest bundled versions of the shared frameworks. I guess we need another flag that differentiates between pre-release builds and patch builds.
I believe this is resolved with c1fb447. The LZMA generation shouldn't lift higher than 2.2.0 and includes correctly pre-release versions of 2.2.0.