Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dotnet] add metadata about .NET 6 EOL #18282

Merged

Conversation

jonathanpeppers
Copy link
Member

Context: https://aka.ms/maui-support-policy
Context: xamarin/xamarin-android@25cb50d
Context: dotnet/sdk#32426

dotnet/sdk#32426 adds support for an optional workload to specify that it is no longer supported by adding an item to the @(EolWorkload) item group:

<ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' and $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0')) ">
  <EolWorkload Include="ios" Url="https://aka.ms/maui-support-policy" />
</ItemGroup>

This will cause dotnet build to issue a new NETSDK1202 build warning:

dotnet\sdk\6.0.409\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(35,5):
warning NETSDK1202: The workload 'ios' is out of support and will not receive security updates in the future. Please refer to https://aka.ms/maui-support-policy for more information about the support policy.

I had to update the Makefile to do a @PLATFORM_LOWERCASE@ replacement for this.

Context: https://aka.ms/maui-support-policy
Context: xamarin/xamarin-android@25cb50d
Context: dotnet/sdk#32426

dotnet/sdk#32426 adds support for an optional workload to specify
that it is no longer supported by adding an item to the
`@(EolWorkload)` item group:

    <ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' and $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0')) ">
      <EolWorkload Include="ios" Url="https://aka.ms/maui-support-policy" />
    </ItemGroup>

This will cause `dotnet build` to issue a new NETSDK1202 build warning:

    dotnet\sdk\6.0.409\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets(35,5):
    warning NETSDK1202: The workload 'ios' is out of support and will not receive security updates in the future. Please refer to https://aka.ms/maui-support-policy for more information about the support policy.

I had to update the `Makefile` to do a `@PLATFORM_LOWERCASE@`
replacement for this.
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) passed 💻

All tests on macOS M1 - Mac Big Sur (11.5) passed.

Pipeline on Agent
Hash: 09cb04a67cd158c4e499e8d84396ced2cd814b2a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)
  • iOS: (empty diff detected)
  • tvOS: (empty diff detected)
  • MacCatalyst: (empty diff detected)
  • macOS: (empty diff detected)

✅ API diff vs stable

.NET (No breaking changes)
  • iOS: vsdrops gist (No breaking changes)
  • tvOS: vsdrops gist (No breaking changes)
  • MacCatalyst: vsdrops gist (No breaking changes)
  • macOS: vsdrops gist (No breaking changes)
  • Microsoft.iOS vs Microsoft.MacCatalyst: vsdrops (could not create gist: file 'D:\a\1\s\change-detection\results\stable-api-comparison\diff\dotnet\iOS-MacCatalyst-diff\Microsoft.iOS.Ref\ref\net6.0\Microsoft.iOS.MacCatalyst.md' does not exist)

✅ Generator diff

Generator diff is empty

Pipeline on Agent
Hash: 09cb04a67cd158c4e499e8d84396ced2cd814b2a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

💻 [PR Build] Tests on macOS M1 - Mac Ventura (13.0) passed 💻

All tests on macOS M1 - Mac Ventura (13.0) passed.

Pipeline on Agent
Hash: 09cb04a67cd158c4e499e8d84396ced2cd814b2a [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

📚 [PR Build] Artifacts 📚

Packages generated

View packages

Pipeline on Agent XAMBOT-1030.Ventura
Hash: 09cb04a67cd158c4e499e8d84396ced2cd814b2a [PR build]

Comment on lines +116 to +121
-e "s/@PLATFORM_LOWERCASE@/$(2)/g" \
-e "s/@TARGET_FRAMEWORK_VERSION@/$(subst net,,$(DOTNET_TFM))/g" \
$$< > $$@.tmp
$(Q) mv $$@.tmp $$@
endef
$(foreach platform,$(DOTNET_PLATFORMS),$(eval $(call AutoImports,$(platform))))
$(foreach platform,$(DOTNET_PLATFORMS),$(eval $(call AutoImports,$(platform),$(shell echo $(platform) | tr A-Z a-z))))
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This appears to work, as I downloaded the artifact and it has this inside:

	<ItemGroup Condition="'$(TargetPlatformIdentifier)' == 'iOS' And $([MSBuild]::VersionEquals($(TargetFrameworkVersion), '6.0'))">
		<EolWorkload Include="ios" Url="https://aka.ms/maui-support-policy" />
	</ItemGroup>

@jonathanpeppers jonathanpeppers marked this pull request as ready for review May 16, 2023 23:15
@vs-mobiletools-engineering-service2
Copy link
Collaborator

🚀 [CI Build] Test results 🚀

Test results

✅ All tests passed on VSTS: simulator tests.

🎉 All 77 tests passed 🎉

Tests counts

⚠️ bcl: No tests selected. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests: All 1 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ framework: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 1 tests passed. Html Report (VSDrops) Download
✅ interdependent_binding_projects: All 4 tests passed. Html Report (VSDrops) Download
⚠️ install_source: No tests selected. Html Report (VSDrops) Download
✅ introspection: All 4 tests passed. Html Report (VSDrops) Download
✅ linker: All 40 tests passed. Html Report (VSDrops) Download
⚠️ mac_binding_project: No tests selected. Html Report (VSDrops) Download
⚠️ mmp: No tests selected. Html Report (VSDrops) Download
⚠️ mononative: No tests selected. Html Report (VSDrops) Download
✅ monotouch: All 11 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
⚠️ mtouch: No tests selected. Html Report (VSDrops) Download
⚠️ xammac: No tests selected. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: [PR build]

@rolfbjarne
Copy link
Member

Couldn't we do somehing like this in our .NET 8 workloads instead/as well?

<ItemGroup Condition=" '$(TargetPlatformIdentifier)' == 'iOS' and $([MSBuild]::LessThan($(TargetFrameworkVersion), '7.0')) ">
  <EolWorkload Include="ios" Url="https://aka.ms/maui-support-policy" />
</ItemGroup>

@rolfbjarne
Copy link
Member

Since this is in AutoImport.props, which is always loaded for all projects

@jonathanpeppers
Copy link
Member Author

@rolfbjarne to fix .NET 8, we will probably need to do something like this:

xamarin/xamarin-android#8047

I'm still working out the details on this one. ^^

@rolfbjarne rolfbjarne merged commit 701aa23 into xamarin:release/6.0.4xx-xcode14.3 May 17, 2023
83 of 85 checks passed
@jonathanpeppers jonathanpeppers deleted the net6-eol branch May 17, 2023 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants