* Target the internal-macOS-11 hosted agent pool
* Pool name letter casing: internal-macos-11
* Update 'macOS' letter casing in BuildPlatform.name conditions
* Fix spacing
* Repo reference to yaml-templates
* Fix: Template references: yaml-templates -> xamarin-templates
* Agent.OSArchitecture is not defined as a capability on agents in the internal-macos-11 pool
* Select .NET 6
* UseDotNet task title: Use .NET SDK 6
* Provision needed dependencies on hosted Mac pool
Provisioning: Support for 'provisioning' parameter, which is set when macOS is true
* Use alternate expansion for parameters.provisioning setting
* provision: Always provision additional software on macOS
* Dedicated provisioning step & script for mono
* Dedicated task & script for provisioning Xamarin.Mac
* Provision additional software when running against an on-prem agent pool and not a hosted pool
* Fix: Provision Additional Software: Conditional syntax missing closing paren
* Provision Additional Software condition: Remove superfluous space
* Apply desired set of on-prem pool demands to ensure build is vectored to an x64 Big Sur machine having no devices or pairing
* Only apply shared pool demands when running on an agent in the shared pool
* agent-cleanser: Only cleanse off mono & Xamarin.Mac when run on a hosted agent. Then provision the versions that the pipeline needs
* Fix: agent-cleanser parameters: Terminating colon missing on 'if' conditionals
* Fix: Avoid including agent demands when running on a hosted pool
* Reset agent Mac pool settings to use macOSXNet6VmPool and macOSXNet6VmImage variables
* Simplify demands to apply only to the shared pool
* Remove special handling for cleansing & reinstall of mono and Xamarin.Mac. Depend on the versions provided by the agent
* TEST: Target hosted pool to ensure pipeline works there
* Revert test changes: Target Mac agent pools defined on build def
Context: https://github.com/xamarin/yaml-templates/pull/134
The .NET 6 packs will now also be pushed to a public xamarin
`net6-maui-shipping` feed during the `VS Insertion` stage, to
help with testing efforts that can't use the `dotnet6` feed.
* [ci] Pass SkiaSharp extras to symbol archiving
Context: https://devdiv.visualstudio.com/DevDiv/_queries/edit/1394568
The missing symbols for Windows C++ SkiaSharp files are now being
uploaded as a MAUI build artifact thanks to commit b80186d4. We should
be able to fix the remaining SymbolCheck issues by archiving them.
* Revert testing changes
* First pass at AbsoluteLayout under new layouts; some fixes to how layouts
handle updates to the underlying collection;
* Cleanup, padding tests; Make gallery page use new AbsoluteLayout;
* Clean up comments
* only on devdiv
* Make AutoSize a const
* Make AutoSize public (lots of things reference it)
* Add using to make CoreGallery happy
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Commit 41a42d1 added a new stage for releases that will wait for up to
two days for approval before timing out. In most cases, this will cause
the `maui-release` and `maui-nightly` release definitions to wait the
full two days before they trigger automatically. This is only avoided
if someone approves or rejects the `VS Insertion` stage in the pipeline
before the default timeout occurs.
We can reduce the timeout to 30 minutes to speed up the majority of post
build efforts, as the `VS Insertion` stage can still be re-ran after it
is rejected.
* Update dependencies from https://github.com/xamarin/xamarin-android build main-e5103b0f97d542ce14f2ceb9f2d3a247aa6d5964-1
Microsoft.Android.Sdk.Windows
From Version 30.0.100-preview.6.62 -> To Version 30.0.100-ci.main.73
Dependency coherency updates
Microsoft.NETCore.App.Ref,Microsoft.Dotnet.Sdk.Internal,Microsoft.Extensions.Primitives,Microsoft.AspNetCore.App.Runtime.win-x64,Microsoft.Extensions.Hosting.Abstractions,Microsoft.Extensions.DependencyInjection.Abstractions,Microsoft.Extensions.DependencyInjection,Microsoft.Extensions.Configuration.Abstractions,Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging.Abstractions,Microsoft.Extensions.Logging,Microsoft.Extensions.Logging.Console,Microsoft.Extensions.Logging.Debug,Microsoft.Extensions.FileProviders.Abstractions,Microsoft.Extensions.FileProviders.Embedded,Microsoft.AspNetCore.Authorization,Microsoft.AspNetCore.Components.WebView,Microsoft.AspNetCore.Components.Web,Microsoft.JSInterop,Microsoft.WindowsDesktop.App.Runtime.win-x64,System.CodeDom
From Version 6.0.0-preview.6.21352.12 -> To Version 6.0.0-preview.7.21326.8 (parent: Microsoft.Dotnet.Sdk.Internal
* Update dependencies from https://github.com/xamarin/xamarin-macios build 20210707.26
Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 12.0.100-preview.6.63 -> To Version 12.0.100-ci.main.142
* Full Android workload has been renamed to android-aot
If you don't need AOT, the `android` workload excludes it.
Note that AOT isn't working yet, but we have the Mono packs setup.
* Use shortened Apple platform workload names
The names are now `maccatalyst`, `macos`, `ios`, and `tvos`.
* One more place the android workload name is used
* Update dependencies from https://github.com/xamarin/xamarin-macios build 20210707.26
Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 12.0.100-preview.6.63 -> To Version 12.0.100-ci.main.142
Conflicts:
eng/Versions.props
* Use shortened Apple platform workload names
The names are now `maccatalyst`, `macos`, `ios`, and `tvos`.
* Update dependencies from https://github.com/xamarin/xamarin-android build main-7c5fab13329ee898fb1562f83576a7ca881f2881-1
Microsoft.Android.Sdk.Windows
From Version 30.0.100-preview.6.62 -> To Version 30.0.100-ci.main.75
Dependency coherency updates
Microsoft.NETCore.App.Ref,Microsoft.Dotnet.Sdk.Internal,Microsoft.Extensions.Primitives,Microsoft.AspNetCore.App.Runtime.win-x64,Microsoft.Extensions.Hosting.Abstractions,Microsoft.Extensions.DependencyInjection.Abstractions,Microsoft.Extensions.DependencyInjection,Microsoft.Extensions.Configuration.Abstractions,Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging.Abstractions,Microsoft.Extensions.Logging,Microsoft.Extensions.Logging.Console,Microsoft.Extensions.Logging.Debug,Microsoft.Extensions.FileProviders.Abstractions,Microsoft.Extensions.FileProviders.Embedded,Microsoft.AspNetCore.Authorization,Microsoft.AspNetCore.Components.WebView,Microsoft.AspNetCore.Components.Web,Microsoft.JSInterop,Microsoft.WindowsDesktop.App.Runtime.win-x64,System.CodeDom
From Version 6.0.0-preview.6.21352.12 -> To Version 6.0.0-preview.7.21326.8 (parent: Microsoft.Dotnet.Sdk.Internal
* Update dependencies from https://github.com/xamarin/xamarin-macios build 20210709.17
Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 12.0.100-preview.6.63 -> To Version 12.0.100-ci.main.150
* Update dependencies from https://github.com/xamarin/xamarin-macios build 20210713.6
Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 12.0.100-preview.6.63 -> To Version 12.0.100-ci.main.159
* Revert "[build] remove workaround for iOS AOT packages on Windows"
This reverts commit 5231ec3509.
* Add NoWarn=CS8032 for Razor
* Update dependencies from https://github.com/xamarin/xamarin-android build main-e06d71320c8f5cebb31c42b15d8172b087a98761-1
Microsoft.Android.Sdk.Windows
From Version 30.0.100-preview.6.62 -> To Version 30.0.100-ci.main.77
Dependency coherency updates
Microsoft.NETCore.App.Ref,Microsoft.Dotnet.Sdk.Internal,Microsoft.Extensions.Primitives,Microsoft.AspNetCore.App.Runtime.win-x64,Microsoft.Extensions.Hosting.Abstractions,Microsoft.Extensions.DependencyInjection.Abstractions,Microsoft.Extensions.DependencyInjection,Microsoft.Extensions.Configuration.Abstractions,Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging.Abstractions,Microsoft.Extensions.Logging,Microsoft.Extensions.Logging.Console,Microsoft.Extensions.Logging.Debug,Microsoft.Extensions.FileProviders.Abstractions,Microsoft.Extensions.FileProviders.Embedded,Microsoft.AspNetCore.Authorization,Microsoft.AspNetCore.Components.WebView,Microsoft.AspNetCore.Components.Web,Microsoft.JSInterop,Microsoft.WindowsDesktop.App.Runtime.win-x64,System.CodeDom
From Version 6.0.0-preview.6.21352.12 -> To Version 6.0.0-preview.7.21326.8 (parent: Microsoft.Dotnet.Sdk.Internal
* Revert "Add NoWarn=CS8032 for Razor"
This reverts commit d7212d435c.
* Update dependencies from https://github.com/xamarin/xamarin-android build main-1d53c0095871293c38d16196982e83485a091a3f-1
Microsoft.Android.Sdk.Windows
From Version 30.0.100-preview.6.62 -> To Version 30.0.100-ci.main.81
Dependency coherency updates
Microsoft.NETCore.App.Ref,Microsoft.Dotnet.Sdk.Internal,Microsoft.Extensions.Primitives,Microsoft.AspNetCore.App.Runtime.win-x64,Microsoft.Extensions.Hosting.Abstractions,Microsoft.Extensions.DependencyInjection.Abstractions,Microsoft.Extensions.DependencyInjection,Microsoft.Extensions.Configuration.Abstractions,Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging.Abstractions,Microsoft.Extensions.Logging,Microsoft.Extensions.Logging.Console,Microsoft.Extensions.Logging.Debug,Microsoft.Extensions.FileProviders.Abstractions,Microsoft.Extensions.FileProviders.Embedded,Microsoft.AspNetCore.Authorization,Microsoft.AspNetCore.Components.WebView,Microsoft.AspNetCore.Components.Web,Microsoft.JSInterop,Microsoft.WindowsDesktop.App.Runtime.win-x64,System.CodeDom
From Version 6.0.0-preview.6.21352.12 -> To Version 6.0.0-preview.7.21326.8 (parent: Microsoft.Dotnet.Sdk.Internal
* Do it like a madman
* Update dependencies from https://github.com/xamarin/xamarin-android build main-7dacdd751dd0bd7b02ac443c32824f353a6da380-1
Microsoft.Android.Sdk.Windows
From Version 30.0.100-preview.6.62 -> To Version 30.0.100-ci.main.83
Dependency coherency updates
Microsoft.NETCore.App.Ref,Microsoft.Dotnet.Sdk.Internal,Microsoft.Extensions.Primitives,Microsoft.AspNetCore.App.Runtime.win-x64,Microsoft.Extensions.Hosting.Abstractions,Microsoft.Extensions.DependencyInjection.Abstractions,Microsoft.Extensions.DependencyInjection,Microsoft.Extensions.Configuration.Abstractions,Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging.Abstractions,Microsoft.Extensions.Logging,Microsoft.Extensions.Logging.Console,Microsoft.Extensions.Logging.Debug,Microsoft.Extensions.FileProviders.Abstractions,Microsoft.Extensions.FileProviders.Embedded,Microsoft.AspNetCore.Authorization,Microsoft.AspNetCore.Components.WebView,Microsoft.AspNetCore.Components.Web,Microsoft.JSInterop,Microsoft.WindowsDesktop.App.Runtime.win-x64,System.CodeDom
From Version 6.0.0-preview.6.21352.12 -> To Version 6.0.0-preview.7.21326.8 (parent: Microsoft.Dotnet.Sdk.Internal
* Update dependencies from https://github.com/xamarin/xamarin-android build main-24f272bd357d67a5e326d4cce55899a5b98905ae-1
Microsoft.Android.Sdk.Windows
From Version 30.0.100-preview.6.62 -> To Version 30.0.100-ci.main.84
Dependency coherency updates
Microsoft.NETCore.App.Ref,Microsoft.Dotnet.Sdk.Internal,Microsoft.Extensions.Primitives,Microsoft.AspNetCore.App.Runtime.win-x64,Microsoft.Extensions.Hosting.Abstractions,Microsoft.Extensions.DependencyInjection.Abstractions,Microsoft.Extensions.DependencyInjection,Microsoft.Extensions.Configuration.Abstractions,Microsoft.Extensions.Configuration,Microsoft.Extensions.Logging.Abstractions,Microsoft.Extensions.Logging,Microsoft.Extensions.Logging.Console,Microsoft.Extensions.Logging.Debug,Microsoft.Extensions.FileProviders.Abstractions,Microsoft.Extensions.FileProviders.Embedded,Microsoft.AspNetCore.Authorization,Microsoft.AspNetCore.Components.WebView,Microsoft.AspNetCore.Components.Web,Microsoft.JSInterop,Microsoft.WindowsDesktop.App.Runtime.win-x64,System.CodeDom
From Version 6.0.0-preview.6.21352.12 -> To Version 6.0.0-preview.7.21326.8 (parent: Microsoft.Dotnet.Sdk.Internal
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
TDLR: Microsoft.Maui.* NuGet packages are removed in favor of .NET
Workloads.
See `src/Workloads/README.md` for full details.
The idea, is a project to be able to set `$(UseMaui)`:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-android</TargetFramework>
<OutputType>Exe</OutputType>
<UseMaui>true</UseMaui>
</PropertyGroup>
</Project>
`$(UseMaui)` automatically brings in the following workload packs:
* `Microsoft.NET.Sdk.Maui`
* `Microsoft.Maui.Controls.Sdk`
* `Microsoft.Maui.Resizetizer.Sdk`
* `Microsoft.Maui.Core.Ref.[platform]`
* `Microsoft.Maui.Core.Runtime.[platform]`
* `Microsoft.Maui.Controls.Ref.[platform]`
* `Microsoft.Maui.Controls.Runtime.[platform]`
* `Microsoft.Maui.Dependencies`
* `Microsoft.Maui.Essentials.Ref.[platform]`
* `Microsoft.Maui.Essentials.Runtime.[platform]`
* `Microsoft.Maui.Extensions`
* `Microsoft.Maui.Templates`
BlazorWebView is an addition to MAUI, project can currently opt into
it by adding `.Razor` to the `Sdk` attribute.
`<Project Sdk="Microsoft.NET.Sdk.Razor">` sets
`$(UsingMicrosoftNETSdkRazor)`, which triggers the MAUI workload to
include:
* `Microsoft.AspNetCore.Components.WebView.Maui`
This will automatically add these dependencies:
<PackageReference Include="Microsoft.AspNetCore.Authorization" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" />
<PackageReference Include="Microsoft.JSInterop" />
If you are a .NET 6 project, but don't want to use
Microsoft.Maui.Controls you could bring in partial parts of MAUI.
`$(UseMauiAssets)` brings in `Microsoft.Maui.Resizetizer.Sdk`.
`$(UseMauiCore)` brings in:
* `Microsoft.Maui.Core.Ref.[platform]`
* `Microsoft.Maui.Core.Runtime.[platform]`
`$(UseMauiEssentials)` brings in:
* `Microsoft.Maui.Essentials.Ref.[platform]`
* `Microsoft.Maui.Essentials.Runtime.[platform]`
Special files:
* `AutoImport.props` - defines the default includes (or wildcards) for
Maui projects will go. Note that this is imported by *all* .NET 6
project types -- *even non-mobile ones*.
* `WorkloadManifest.json` - general .NET workload configuration
* `WorkloadManifest.targets` - imports `Microsoft.Maui.Controls.Sdk` when
`$(UseMaui)` is `true`. Note that this is imported by *all* .NET 6
project types -- *even non-mobile ones*.
For further details about .NET Workloads, see these .NET design docs:
* [.NET Optional SDK Workloads](https://github.com/dotnet/designs/blob/main/accepted/2020/workloads/workloads.md)
* [Workload Resolvers](https://github.com/dotnet/designs/blob/main/accepted/2020/workloads/workload-resolvers.md)
* [Workload Manifests](b82449a228/accepted/2020/workloads/workload-manifest.md)
* Add WPF and WinForms BlazorWebView controls
- Also changed folder name of .NET MAUI BlazorWebView from "core" to "Maui"
- WPF/WinForms samples added
* Update Microsoft.Maui-net6.sln
* Remove Windows-specific projects from MAUI net6 SLN
* Remove duplicate samples
* Add BlazorWebView SLN and add it to package script
* Change WebView2 package to be non-Windows
(Because it isn't Windows)
* Add "net6" to BlazorWebView solution
* Change Blazor SLN to be WindowsDesktop only
* Update signing info
* Update package metadata
* Update dependencies from https://github.com/xamarin/xamarin-android build main-92efdccb686454be32d742b8ca9f6a166a7c1808-1
Microsoft.Android.Sdk.Windows
From Version 11.0.200-ci.main.260 -> To Version 30.0.100-ci.main.2
Dependency coherency updates
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-preview.5.21255.8 -> To Version 6.0.100-preview.5.21260.2 (parent: Microsoft.Android.Sdk.Windows
* Fix $PATH delimiter for macOS
Context: https://powershell.org/2019/02/tips-for-writing-cross-platform-powershell-code/
We can't use `;` to delimit paths on unix-like OSes. They expect `:`,
so use the built-in `[IO.Path]::PathSeparator` variable instead.
* Set $PATH in more places
Places this would be needed:
* .yaml file
* dotnet.cake
* eng/package.ps1
We should work on consolidating this in a future PR.
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
* Initial commit to move to one loc
* Fix templates reference
* Don't depend on validate
* try fake it
* Use loc branch variable
* One loc
* try fix path
* Fix StringResources filename
* Fix git add
* Don't use variable
* remove xliff
* test main
* Set main again
* Simplify policheck compliance
* Add loc to triggers
* Bump .NET version
* Update merge-translations-update.yml
* Update security_compliance.yml
* [build] Update to .NET 6 Preview 4
Brings in Preview 4 updates for the Android, MaciOS, and .NET SDks.
Initial build attempts were failing with hundreds of errors:
D:\a\1\s\src\Essentials\src\Connectivity\Connectivity.ios.tvos.macos.cs(12,70): error BI1234: 'CTCellularData' is obsolete: 'Starting with ios14.0 Use the 'CallKit' API instead.' [D:\a\1\s\src\Essentials\src\Essentials-net6.csproj]
D:\a\1\s\src\Essentials\src\Compass\Compass.ios.cs(31,6): error CA1416: This call site is reachable on: 'iOS' 13.6 and later. 'CLLocationManager.HeadingFilter' is only supported on: 'macos' 11.0 and later. [D:\a\1\s\src\Essentials\src\Essentials-net6.csproj]
D:\a\1\s\src\Core\src\Platform\MaciOS\ColorExtensions.cs(64,13): error CA1416: This call site is reachable on: 'MacCatalyst' 13.5 and later. 'UIColor.SystemBackgroundColor.get' is supported on: 'ios' 13.0 and later. [D:\a\1\s\src\Core\src\Core-net6.csproj]
CSC : error AD0001: Analyzer 'Microsoft.NetCore.Analyzers.InteropServices.PlatformCompatibilityAnalyzer' threw an exception of type 'System.NullReferenceException' with message 'Object reference not set to an instance of an object.'. [D:\a\1\s\src\BlazorWebView\src\core\Microsoft.AspNetCore.Components.WebView.Maui.csproj]
The [platform compatibility analyzer][0] has been disabled for now, and
it can be enabled locally to work through the few hundred errors in
future PRs.
Once these issues were sorted, there were a handful of other breaks
that I've attempted to fix:
D:\a\1\s\src\Essentials\src\AssemblyInfo\AssemblyInfo.ios.tvos.watchos.macos.cs(3,12): error CS0618: 'LinkerSafeAttribute' is obsolete: 'Replace with '[assembly: System.Reflection.AssemblyMetadata ("IsTrimmable", "True")]'.' [D:\a\1\s\src\Essentials\src\Essentials-net6.csproj]
D:\a\1\s\src\Compatibility\Core\src\iOS\Renderers\TabbedRenderer.cs(422,33): error CS1503: Argument 1: cannot convert from 'UIKit.UIStringAttributes' to 'UIKit.UITextAttributes' [D:\a\1\s\src\Compatibility\Core\src\Compatibility-net6.csproj]
D:\a\1\s\src\Compatibility\Core\src\iOS\CollectionView\CarouselViewController.cs(106,23): error CS0114: 'CarouselViewController.DraggingStarted(UIScrollView)' hides inherited member 'UICollectionViewController.DraggingStarted(UIScrollView)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword. [ D:\a\1\s\src\Compatibility\Core\src\Compatibility-net6.csproj]
D:\a\1\s\src\Compatibility\Core\src\iOS\CollectionView\CarouselViewController.cs(117,23): error CS0114: 'CarouselViewController.DraggingEnded(UIScrollView, bool)' hides inherited member 'UICollectionViewController.DraggingEnded(UIScrollView, bool)'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword. [ D:\a\1\s\src\Compatibility\Core\src\Compatibility-net6.csproj]
Finally it seems JDK 14 was being preferred on macOS machines in CI, so
I've set `$(JI_JAVA_HOME)` to the [pre-installed JDK 11][1].
[0]: https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1416
[1]: https://github.com/actions/virtual-environments/blob/macOS-10.15/20210419.2/images/macos/macos-10.15-Readme.md#java
* Apply feedback, bump p4 bits, provision xcode 12.5 rc
* Use Big Sur pool, clean up duplicate variable declaration
* Revert "Use Big Sur pool, clean up duplicate variable declaration"
This reverts commit b91482e10c.
* Disable linker for ios and catalyst
Co-authored-by: Rui Marinho <me@ruimarinho.net>