Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 11.3.100-preview.4.626 -> To Version 11.3.100-preview.4.628
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 11.3.100-preview.4.624 -> To Version 11.3.100-preview.4.626
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.Android.Sdk.Windows
From Version 11.0.200-preview.4.234 -> To Version 11.0.200-preview.4.237
Dependency coherency updates
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-preview.4.21221.10 -> To Version 6.0.100-preview.4.21226.14 (parent: Microsoft.Android.Sdk.Windows
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Microsoft.macOS.Sdk , Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk , Microsoft.tvOS.Sdk
From Version 11.3.100-preview.4.623 -> To Version 11.3.100-preview.4.624
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.Android.Sdk.Windows
From Version 11.0.200-preview.4.232 -> To Version 11.0.200-preview.4.234
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.MacCatalyst.Sdk , Microsoft.iOS.Sdk
From Version 14.5.100-ci.main.620 -> To Version 14.5.100-preview.4.623
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Microsoft.Android.Sdk.Windows
From Version 11.0.200-ci.main.226 -> To Version 11.0.200-preview.4.232
Dependency coherency updates
Microsoft.Dotnet.Sdk.Internal
From Version 6.0.100-preview.4.21215.1 -> To Version 6.0.100-preview.4.21221.10 (parent: Microsoft.Android.Sdk.Windows
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
* [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>
We have new AndroidX packages produced from:
https://github.com/xamarin/AndroidX/pull/247
After updating I ran into:
C:\src\maui\src\Compatibility\Core\src\Android\CollectionView\SelectableViewHolder.cs(44,25):
error CS0618: 'RecyclerView.ViewHolder.AdapterPosition' is obsolete: 'deprecated' [C:\src\maui\src\Compatibility\Core\src\Compatibility-net6.csproj]
C:\src\maui\src\Compatibility\Core\src\Android\CollectionView\SelectableItemsViewAdapter.cs(70,9):
error CS0618: 'RecyclerView.ViewHolder.AdapterPosition' is obsolete: 'deprecated' [C:\src\maui\src\Compatibility\Core\src\Compatibility-net6.csproj]
0 Warning(s)
2 Error(s)
`AdapterPosition` is indeed obsolete:
https://stackoverflow.com/a/63148812
It appears we can use `BindingAdapterPosition`, because the deprecated
code is basically:
@Deprecated
public final int getAdapterPosition() {
return getBindingAdapterPosition();
}
* Use Maui for the essentials sample
Android is running
* missing deps
* That seems to need that
* Make it all go around
* Use the new graphics primatives
* Added 2.1
* BlazorWebView control for .NET MAUI:
- Supports Android, iOS, and WinUI
- Samples updates to show simple Blazor demo
* Revert more sample changes for cleanup
* Update samples
* Shorten folder names
* Code cleanup
* Sample cleanup
* Update non-net6 project/SLN
* Revert "Update non-net6 project/SLN"
This reverts commit cc6be87d2e1cb02acd58375c258046258c4828ed.
* Skip Blazor for non-.NET6 samples
* Update BlazorPage.cs
* Rebase on 'main' and update sample to match
* Added BlazorWebView project to the winui sln
* Remove scrollview for now
Co-authored-by: Jonathan Dick <jondick@gmail.com>
There was a change in P3 to stop setting this environment variable in maccatalyst and ios which is causing the debugger to hang while connecting on macOS. This is a temporary fix to bring back the env variable until the issue is addressed.
https://github.com/dotnet/runtime/issues/50966
* Core and Controls.Core now compile
* Core tests now compile
* Fixed more of the build
* Compatability.iOS builds
* Libraries are now all building
* Removed crud added by IDE
* Add Graphics to the sample
* Fixed another Color -> Colors
* Fix rebase issues
* Update Windows platform to Maui.Graphics
* KnownColors -> KnownColor
* Fix rebase errors
* Add missing usings for stubs
* Fix some XAMLC errors creating colors and rectangles
* Return null for Color.Default
* It's System.Single, not System.Float
* Resolve MGColor creation issues for Resources
* Add missing namespaces and fix class name
* Fix namespace and assembly for Rectangle converter
* Fix Color references in Maps projects
* Fix all MG references in Compatibility
* Fix more references
* Fix references in shared tests project
* Missed a Color reference
* Don't add paddingButton twice
* Remove Xamarin.Essentials reference
* Clean up old MG reference
* Disambiguate Graphics Rectangle and Shapes Rectangle
* Get named colors from Colors (not Color)
* Adjust test for new API
* Remove extra return opcode
* Register MG assembly so we can resolve types for tests
* Bump Maui Graphics package version
We really need to put this in a variable somewhere
* Missed one version
* Fix brush unit tests
* Centralize version
Co-authored-by: E.Z. Hart <hartez@gmail.com>
Co-authored-by: Jonathan Dick <jondick@gmail.com>
* Android 11.0.200-preview.3.195
* Catalyst: 14.3.100-ci.main.465
* iOS: 14.4.100-ci.main.1320
Other changes:
* We should be able to remove the `$(SuppressTrimAnalysisWarnings)` workaround.
* We need to use `iossimulator-x64` everywhere, as the RID has been changed to differentiate iOS simulators between M1 Macs and Intel Macs.
* Android 11.0.200-preview.3.189
* MacCatalyst 14.3.100-ci.main.438
* iOS 14.4.100-ci.main.1293
We can also remove `$(SuppressTrimAnalysisWarnings)` now.
* Android 11.0.200-ci.main.175
* iOS 14.4.100-ci.main.1271
* MacCatalyst 14.3.100-ci.main.416
Other changes:
* Some Android SDK packs were renamed.
* We no longer need various packages to appease ILLink, such as:
System.CodeDom, System.IO.Ports, etc.
* Temporarily set `$(SuppressTrimAnalysisWarnings)` in
`Directory.Build.props`.
CI is currently downloading/installing .NET 6 twice, once via
`UseDotNet` in `.yml` and again via `DotNet.csproj`.
I don't think we actually need to do call `UseDotNet`, I was able to
run `eng\package.ps1` without .NET 6 installed.
* [resizetizer] rename @(SharedImage) to @(MauiImage)
This updates any public facing names for:
* `@(SharedImage)` -> `@(MauiImage)`
* `@(SharedFont)` -> `@(MauiFont)`
* `@(SharedItem)` -> `@(MauiItem)`
* `<ResizetizeSharedImages/>` MSBuild task to `<ResizetizeImages/>`
* `SharedImageInfo` -> `ResizeImageInfo`
* `SharedImageType` -> `ImageType`.
I didn't change any logic here, only did Find/Replace in VS Code or
refactor/rename in Visual Studio.
* WinUI3 Desktop Head
* - Fix up Compatibility Proiect
* - fix conditionals
* - temp remove windows pack restriction
* - namespace fixes
* - winui
* - add WinUI to SLN
* - change handlers to windows
* - fixes
* - additional handlers
* - essentials fixes
* - msbuild
* - add more
* - fix comment
* - transitive
* - check for windows
* - windows conditional
* - vs path
* - restore;build
* - remove target
* - build first
* -remove
* Building again!
* - add global.json file
* - set MauiPlatforms
* - remove things
* Make it at least run
* - split out restore/build
* - magic?
* - 5
* Put stuff here and try more
* - add restore
* - fix essentials
* Get it closer
* Go simple or go home
* diffs
* - net5 checks
* - winui fixes
* - files
* - preview versions
* - maybe?
* - add code back in
* Update package.ps1
Fix usage of $dotnet, moved around if and try-finally
* Whoops
* Update package.ps1
Add /restore flag, fix double //
* - fixed pri runtime paths
* - copy xbf files around
* - fix
* - fix path
* Fonts
* - windows only nugets
* - fix targets
* Fonts now working
* ws
* //TODO WINUI3
* More mappings
* - builds
* - remove props
* - props
* Button has all the things done so far
* - layout basics
* Don't reference the build tasks, then all is well
* - shims
* - fix shim measuring
* - fix resource loading
* Uncomment the things in Forms
* - tweak measure
* update
* Remove old code
* Revert "Remove old code"
This reverts commit 2b63ebab0e.
* Add image for goodness
* - measure
* - always build winui for core
* - add created handlers
* - add mappers
* Build windows and macos now
* Always pack
* - call arrange on the children again
* - fix
* - embrace it
* - fix condition
* - maybe
* This might work
* that
* - fix
* - fix
* - no more
* Use the correct path to the image
* No more SimpleApp
* This actually works...
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
* Make sure to push Xamarin.UITests
* [Build] Copy Controls.CustomAttributes
* [Build] Remove extra references on UITests projects
* [Build] Make sure to just publish as artifacts the Microsoft.Maui nupkg
* Try fix ios build
* Fix uitest projoject
Based on: https://github.com/jonathanpeppers/maui-workload
This adds a new `DotNet.csproj` that provisions a local .NET 6 install
into `.\bin\dotnet\`.
Next, it uses versions defined in `eng/Versions.props` as required by
.NET version bumping infrastructure (called Darc):
<Project>
<PropertyGroup>
<MicrosoftNETSdkPackageVersion>6.0.100-preview.2.21155.3</MicrosoftNETSdkPackageVersion>
<MicrosoftAndroidSdkPackageVersion>11.0.200-ci.main.148</MicrosoftAndroidSdkPackageVersion>
<MicrosoftMacCatalystSdkPackageVersion>14.3.100-ci.main.337</MicrosoftMacCatalystSdkPackageVersion>
<MicrosoftiOSSdkPackageVersion>14.4.100-ci.main.1192</MicrosoftiOSSdkPackageVersion>
</PropertyGroup>
</Project>
Next, we can use these versions to consume NuGet packages for workloads:
<PackageDownload Include="Microsoft.NET.Workload.Android" Version="[$(MicrosoftAndroidSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.MacCatalyst" Version="[$(MicrosoftMacCatalystSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.iOS" Version="[$(MicrosoftiOSSdkPackageVersion)]" />
Then the other packs they depend on:
<PackageDownload Include="Microsoft.Android.Ref" Version="[$(MicrosoftAndroidSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.Android.Sdk.win-x64" Version="[$(MicrosoftAndroidSdkPackageVersion)]" Condition="$([MSBuild]::IsOSPlatform('windows'))" />
<PackageDownload Include="Microsoft.Android.Sdk.osx-x64" Version="[$(MicrosoftAndroidSdkPackageVersion)]" Condition="$([MSBuild]::IsOSPlatform('osx'))" />
<PackageDownload Include="Microsoft.Android.Sdk.BundleTool" Version="[$(MicrosoftAndroidSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.MacCatalyst.Ref" Version="[$(MicrosoftMacCatalystSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.MacCatalyst.Sdk" Version="[$(MicrosoftMacCatalystSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.iOS.Ref" Version="[$(MicrosoftiOSSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.iOS.Sdk" Version="[$(MicrosoftiOSSdkPackageVersion)]" />
After doing this, I can build .NET 6 projects with:
> .\bin\dotnet\dotnet.exe build .\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj
I can even build MacCatalyst apps on Windows!
I updated `build.cake` so the following builds for .NET 6 and opens
Visual Studio:
> dotnet cake --target=VS-NET6
This is the equivalent of these commands if you want to run them
individually:
dotnet build src\DotNet\DotNet.csproj
.\bin\dotnet\dotnet build Microsoft.Maui.BuildTasks-net6.sln
.\bin\dotnet\dotnet build Microsoft.Maui-net6.sln
.\eng\dogfood.ps1
~~ Other Changes ~~
* Rework CI setup to use .\bin\dotnet\dotnet
* We don't need boots or URLs anymore
* Fixed `MSBuildTests` to use .\bin\dotnet\dotnet if found and fall
back to the system `dotnet`
* Moved `.nuspec\package.ps1` to `eng\package.ps1`
~~ What problems does this solve? ~~
* MacCatalyst builds on Windows! (offline build that checks C#)
* Building Maui always gets you the right things installed.
* Maui becoming a .NET workload will be a breeze. We can copy files
into `.\bin\dotnet\sdk-manifests` and `.\bin\dotnet\packs`.
* We can use Darc to bump dependencies within .NET:
https://github.com/dotnet/arcade/blob/main/Documentation/Darc.md
* Try build ControlGallery
Try build android controlgallery new path
Fix
Fix android uitests reference
Don't build iOS for now
* - only set content description for UI Test build
* Add Environment.Build.props back
* Update boots version
* Fix LinkDescription.xml
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
* Update regex tag
* Update reg for tag
* Don't compare gitbranch
* Update GitInfo
* Add GitIgnoreBranchVersion
* correct value
* Test set GitIgnoreTagVersion
* Fix GitIgnoreTagVersion
6be8a1c1 ignored some failing tests, but it seems like we should have
fixed and modernized the tests instead.
Some parts of these tests seem out of date:
* We don't need to build long-form .NET framework projects.
* We should generate/build `net6.0` projects instead of `netstandard2`.
* We should run `dotnet build` instead of MSBuild. We don't need
`Microsoft.Build.Locator` anymore.
* `RestoreIfNeeded()` is no longer needed because `dotnet build`
implicitly restores.
* I fixed the `DesignTimeBuild()` test that can just use the `Compile`
target now.
* The `sdkStyle` parameter is no longer needed anymore for any of
these tests, so we have 1/2 as many tests now.
I mostly deleted code here.
~~ Other changes ~~
Some other stuff was needed for this test to work:
* Move usage of dotnet-install.ps1|sh to yaml
* We now install .NET 6 for the `Build Windows` stage.
* Disable code coverage in child processes
* Add the `msbuild.binlog` file as a test attachment.
Co-authored-by: Rui Marinho <me@ruimarinho.net>
* Fix it all
* Try using old school powershell
* Store window to local variable so GC doesn't collect it (#465)
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>