This repository was archived by the owner on Aug 8, 2024. It is now read-only.
[mono] Fix msbuild regression in version string #141
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After the recent merge, a simple invocation of msbuild fails with:
The relevant code in
ProjectCollection:The
AssemblyInformationalVersionAttributeis getting the value16.3.0, instead of an expected longer string. Upstream builds have:[assembly: System.Reflection.AssemblyInformationalVersionAttribute("16.3.0-dev-19468-01+e4b71d427dbc3aae09b7b922f769f8e633ee54ce")].. for the msbuild assemblies, and mono's build previously had:
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("16.3.0-ci-19468-01")]Mono's string is set like that because it has
$(ContinuousIntegrationBuild)==true, which arcade uses to build theversion suffix.
The recent merge added
<DotNetFinalVersionKind>release</DotNetFinalVersionKind>which makesArcade drop the "prerelease" suffixes, causing the version string to
become just
16.3.0.Since the code in
ProjectCollectionreally expects to have aSHAinthe version string, this code just happens to work, for now and needs
to be fixed.