* Add Mac Catalyst to the CI
* pack on mac just in case
* test
* Start adding catalyst support
* first maccatalyst frameworks to testthe waters
* oksy
* this for future
* revert
* revert
* Include maccatalyst for single project
* Treat Catalyst mostly like iOS for now
* Don't try fallback path for catalyst since API isn't there
* Xib not needed anymore
* Include iOS bits for catalyst on the compat project
* Fix linebreak mode to not use deprecated API (for catalyst too)
* Fix text/string attribute usage for catalyst/mac
* Fixed string attribute usage for catalyst/mac
* new toys
* Fix Delegate cast for catalyst
* Fix single project includes for catalyst
* Remove scene delegate for now
* Add catalyst specific assets for single project
* fix things
* Stop building catalyst on windows
* hax
* was bad hax
* Use UIStringAttributes for iOS and Catalyst both
* Do it right
* Revert "Use UIStringAttributes for iOS and Catalyst both"
This reverts commit 0d4b90aecb.
* Fix the build tasks
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: Jonathan Peppers <jonathan.peppers@microsoft.com>
* [Build] Remove old steps
* Fix reference of unit tests cspro
* Enable xaml unit tests
* [Build] Add build of xaml unit tests
* Try fix targets
* Fix Forms naming
* More naming fixes
* Revert versions
* Remove .Core
* More .Core removals and Fix Platform references
* Add RootNamespace to Build.Tasks
* Fix more Xamarin.Forms old usage
* Fix dll on build.targets
* Fix _XFBuildTasksLocation
* More fixes to _MauiBuildTasksLocation
* More fixes _MauiBuildTasksLocation
* Fix _MauiBuildTasksLocation
* remove debug info
* Remove issues for now
* Rename maps namespace
* Fix Assembly tests
* Fix more targets
* More map rename fixes
* Fix xaml reference on unit tests
* Fix MauiXamlCValidateOnly naming
* More MauiXamlCValidateOnly
* Add xaml page to sample
* Fix namespace on sample page
* oh, yeah
* Fix sample references
* Try run on release the xaml unit tests
* Try continueOnerror
* Update build-windows.yml
* added via the directory props
* ws
* We mights need this
* I think I did this
* This can be reused
* 🤦♀️
* this as well after the peppers PR
* Fix some bad renames
* i see
* Fix merge
* Fix sample
* Remove FromSource
* Add the packages
* this
* Yaysies!
* Fix all the non-msbuild tests
* Adding things back and gallery
* this
* Build the tasks first
* Got the Android control gallery running
* remove from the sln
* Xaml pages
* Reference XAML
* this
* better XAML
* this
* restore
* maybe
* include correctly
* symbols
* Try set the versions
* remove unused steps templates
versions things more cool yay
* Updating code to pre-fix xaml
* Now we do the targets
* Revert "Now we do the targets"
This reverts commit 2ce4984d48a00c1eab8037cdd8a35690feb0038e.
* maybe this?
* We have to set the variables
* Add the control gallery and xaml unit tests
* This might help
* xaml page
* Try use matrix for build/release macOS
* Fix variables
* Fix end of script
* use matrix for build on windows
* Fix Artifact upload at same time
Co-authored-by: Stephane Delcroix <stephane@delcroix.org>
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
* Add some common nupkg properties to everything
* Remove project property refactored into directory build props
* Remove properties now in common dir build props
* Add net6 version of project
* More net6
* Only target netstandard2.0 now
net4* is no longer needed as there's no more vs2017 support
* Clean up strong naming a bit
* Update dependencies
* Package all the things for build tasks in the -t:Pack
* Add more net6 project versions
* Clean up whitespace
* Needed moar NET6
* Name fixes
* Added meta project for packaging and package script
* Remove assembly copyright (now duplicates)
* Add resizetizer, add params to package script
* Disable strong naming for now
We need to re-evaluate how we do this a bit, we should probably use the `al` tool to do it now, and I believe the StrongNamer package may not work anymore, but we can do the same thing in a custom target at a later date.
* Fix path to tasks assembly
* don't build ios on android specific project
* Finish rename of toolbox file
* - add cake
* - fix cake extras
* fix the copy for the IDE
* Try packing on CI
* versions baby!
* build release
* this should od it
* this
* oops
* Move to an empty folder
* Use new symbol formats
* no symbols for build tasks and the head
* symbol all the things
* Compiler error with commented out code XD
* oopsies
* only build transitive
* Try this
* log everything
* This might work
* REPORTS
* previews
* needed
* versions
* duh
* Update build.cake
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Bump to Microsoft.Android.Sdk 11.0.200.118. This is needed for a fix
to support net6.0-android NuGet packages.
We have new AndroidX packages:
<PackageReference Include="Xamarin.AndroidX.AppCompat" Version="1.2.0.7-net6preview01" />
<PackageReference Include="Xamarin.Google.Android.Material" Version="1.3.0.1-net6preview01" />
These are available on the same feed we have the iOS/Android runtime
packs for .NET 6:
<add key="xamarin" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/xamarin-impl/nuget/v3/index.json" />
These packs support both Xamarin.Android & .NET 6 because they contain
both sets of assemblies, such as:
* `lib/monoandroid90/Xamarin.AndroidX.*.dll`
* `lib/net6.0-android/Xamarin.AndroidX.*.dll`
To consolidate our AndroidX package versions, we can a new MSBuild
pattern for declaring NuGet package versions that
dotnet/project-system uses:
accdee5926/Directory.Build.targets (L3)accdee5926/build/import/Packages.targets
1. List packages in `.csproj` files as they are needed. But leave off
`%(Version)` completely.
2. A `Directory.Build.targets` somewhere does: `<PackageReference
Update="YourPackage" Version="1.0.0" />` This allows you to put the
version in one place, and you don't need to check platforms or
anything, because the `Update` doesn't do anything if the `.csproj`
file isn't using that package.
We could do this pattern across the whole Maui repo, but I just set
this up for the `AndroidX` and `Microsoft.Extensions` packages for
now.
~~ .NET 6 Linker ~~
Since we are using .NET 6 AndroidX packages, the following workaround
is no longer needed, so I removed them:
<PropertyGroup>
<_DotNetPackageVersion>6.0.0-preview.2.21110.7</_DotNetPackageVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.CodeDom" Version="$(_DotNetPackageVersion)" />
<PackageReference Include="System.Diagnostics.EventLog" Version="$(_DotNetPackageVersion)" />
<PackageReference Include="System.Diagnostics.PerformanceCounter" Version="$(_DotNetPackageVersion)" />
<PackageReference Include="System.IO.Ports" Version="$(_DotNetPackageVersion)" />
<PackageReference Include="System.Security.Permissions" Version="$(_DotNetPackageVersion)" />
<PackageReference Include="System.Threading.AccessControl" Version="$(_DotNetPackageVersion)" />
</ItemGroup>
Previously, the AndroidX packages were Xamarin.Android libraries, and
they would cause the linker to crash in `Release` builds:
ILLink : error IL1012: IL Linker has encountered an unexpected error. Please report the issue at https://github.com/mono/linker/issues
Fatal error in IL Linker
Unhandled exception. Mono.Linker.InternalErrorException: Step 'LoadReferencesStep' failed when processing assembly 'Maui.Controls.Sample.SingleProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
---> Mono.Linker.LinkerFatalErrorException: ILLink: error IL1010: Assembly 'Maui.Controls.Sample.SingleProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' cannot be loaded due to failure in processing 'Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' reference
---> Mono.Linker.LinkerFatalErrorException: ILLink: error IL1010: Assembly 'Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' cannot be loaded due to failure in processing 'Xamarin.AndroidX.AppCompat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' reference
---> Mono.Linker.LinkerFatalErrorException: ILLink: error IL1010: Assembly 'Xamarin.AndroidX.AppCompat, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' cannot be loaded due to failure in processing 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' reference
---> Mono.Linker.LinkerFatalErrorException: ILLink: error IL1009: Assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' reference 'System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' could not be resolved
---> Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'System.Security.Permissions, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
---> System.IO.FileNotFoundException: Unable to find 'System.Security.Permissions.dll' or 'System.Security.Permissions.exe' file
~~ AndroidX obsoleted FragmentStatePagerAdapter ~~
Initially I got several warnings (that became errors), such as:
error CS0618: 'FragmentStatePagerAdapter' is obsolete...
I don't know what should be done here, so I ignored the warning in the
two files that have a problem for now:
#pragma warning disable 618
* Improve the Android testing
* Add a longer boot timeout for CI (it takes about 5 mins to boot)
* Fail the command if the tests failed
* Pass the arch correctly
Add support for selecting the emulator "skin" or "type"
* Make sure to unify the runs
* fail the build if the tests failed
* copy the test result files to <out-dir>/TestResults.xml
* Just getting something going
* This
* Update device-tests-android.yml
* Run the correct script
* Fix the restore config file
* Install the emulator
* Use separate lines for readability
* Move to a new pipeline
* Renamed
* this
* Update handlers.yml
* test2
* Update device-tests.yml
* Update device-tests.yml
* af
* Update device-tests.yml
* not sure
* Revert "not sure"
This reverts commit 2d722aba9737370fc9c48fa02e3a2b4b02efa769.
* not sure
* Update device-tests.yml
* Update device-tests.yml
* Update device-tests.yml
* sadfasdf
* Update device-tests.yml
* Update device-tests.yml
* Update device-tests.yml
* Run everything correctly again
* change this
* Get some vars
* Better things
* Better name
* Oops
* Update device-tests-android.yml
* Fix the tests
* Test this
* Update device-tests.yml
* Update device-tests.yml
* things
* more
* fix
* disable ios stuff
* need the envvars
* enabling the profiles again
* push the other one
* better
* can't use the shared runtime
* aadsf
* essentials ios
* adfs
* fix things
* change package names
* oops
* Reverts
* finals
* Fix android tests
* Make sure to pass the context to Platform.Init
* Add support for running tests inside an actual Activity
* Prepare to move the shared code into a new assembly for reuse
* move
* quick build to test
* Revert "quick build to test"
This reverts commit dd92838e995d363eab38e699e4ec4c26cf1b3bea.
* Improve the Android testing
* Add a longer boot timeout for CI (it takes about 5 mins to boot)
* Fail the command if the tests failed
* Pass the arch correctly
Add support for selecting the emulator "skin" or "type"
* Make sure to unify the runs
* fail the build if the tests failed
* copy the test result files to <out-dir>/TestResults.xml
* Update cake and yaml
* Reset simulator isn't working
* [Build] Remove restore from yaml
* [Build]Update the restore on cake
* [Build] Build android gallery uitests from cake