* Move all core font logic into an instance
* Doing lots of things to get things working :)
* Add a small compat sample
* Fixed the sample for Android
* Fix the iOS sample
* Clean this up
* revert that
* Added a fonts sample page
* Implement all the things
* Fix things
* Prevent duplicate attributes
* fix null ref warning
* Fix null exception in resizetizer
* Initialize forms because we are actually using it
* Loads of stuff in here, will need to dissect :)
* Create a sln for the build tasks
* fix null ref warnings/errors
* oops
* never null here
* just these
* Only setup the font loader if it exists
* test more things
* Add this back to label
* New attributes
* Add tests for the label
* remove compat samples
* Add iOS tests
* No longer needed
* this
* Add [PortHandler]
* mergies
* this will be cool to keep
* Add resizetizer
* All good now
* [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
* Renamed Stubs and added description to Handler tests
* Removed unmapped properties from IButton
* Cleanup the test attributes
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Context: fcd9c30164/Documentation/guides/OneDotNetSingleProject.md
We are aiming to get a new project type working that would have a
`.csproj` such as:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-android;net6.0-ios</TargetFramework>
<OutputType>Exe</OutputType>
<SingleProject>true</SingleProject>
</PropertyGroup>
</Project>
Within the project you would have:
* `*.cs` all shared code
* `iOS/*` - iOS only stuff, including `Info.plist`
* `Android/*` - Android only stuff, including `AndroidManifest.xml`
I also used some other new settings that results in a smaller
`Info.plist` and `AndroidManifest.xml`:
<ApplicationTitle>Single Project</ApplicationTitle>
<ApplicationId>com.microsoft.maui.singleproject</ApplicationId>
<ApplicationVersion>1.0</ApplicationVersion>
<AndroidVersionCode>1</AndroidVersionCode>
The eventual goal being we might be able to completely get rid of
`Info.plist` and `AndroidManifest.xml` for simple apps. You would only
need them for edge-case, platform-specific features.
To get this working within a NuGet package, we can include two new
files:
* `Xamarin.Forms.SingleProject.props`
* `Xamarin.Forms.SingleProject.targets`
They only enable things conditionally, if `$(SingleProject)` is set.
I created a new sample with a single `Label` to demonstrate things
working.
* 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.
DisplayNames are generated from the test method name by default; added custom
DeviceTestCase class to prefix DisplayNames with [Categories] for easier filtering;
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
* Re-enable tests
Fixes#13815
* NamedSize is correct
* Removing the test that is no longer valid
The previous test was added for https://xamarin.github.io/bugzilla-archives/55/55343/bug.html, but was not really testing anything except what was really a user error.
* Revert "Removing the test that is no longer valid"
This reverts commit 3ae6937db762366baad75f43cd5599aacd79cd42.
* Add issue links
* Fixed slider inconsistent behavior between Android and iOS
* Removed static variables from Android SliderExtensions
* Updated Platform.cs
* Improve slider on Android
* added more unit tests
* set the new native max to int.MaxValue
* Move the tests back and skip
* Add some events
* remove this
* Redirect to here too
* Fix slider tests for Android API < 26;
Add Android versions for ignored tests;
* - enable slider handler
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
Co-authored-by: E.Z. Hart <hartez@gmail.com>
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
* SwitchHandlers
* Added more SwitchHandler tests
* Fixed build error
* - enabled handler on CG
* Delete launchSettings.json
* Rename SwitchExtensions..cs to SwitchExtensions.cs
* Update Xamarin.Platform.Handlers.csproj
* GitHub adds this newline like a boss
* No newline!!
* - fix merge errors
* - Fix code that renderers view to bitmap
- Convert to using SwitchCompat
* - fix slider naming
* - run all the tests
* Fix compiler error
* - Remove Toggled
* - extract color state list
* - track ColorStateList
* - organize
* - cleanup
* Delete launchSettings.json
* - more updates
* - fix
* - Simplify down to track color
* - fix defaults
* - fix up iOS track
* Update SwitchExtensions.cs
* - remove non default extensions for now
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
* Removed obsolete members
* Fixed a few build errors
* Map renderer build fix
* 2 WPF build fixes
* Removed more IPlatform mentions
* Removed Platform from Tizen FormsApplication
* Removed font property usage from tizen label renderer
* UAP label font build fix
* Resolved conflicts
* Add back the bits for XamlC
* Remove a few more obsolete items
* Color type removed
* Add the new .ctors
* Fix XAML tests
(possibly)
* Add back ctor
* Add back [PortHandler]
* Keep
* Remove tests for removed properties
* Remove previewer tests
* Fix tests
* Make sure it is a string
* Ignore some tests for now
Logged here: https://github.com/xamarin/Xamarin.Forms/issues/13815
* revert font changes
* Add back required method
* Removed test that no longer is valid
* Fix a few more tests
* Oops
* The shims seem to break automation
Co-authored-by: Domagoj Medo <domagojmedo@gmail.com>
Co-authored-by: Domagoj Medo <domagoj.medo@moberg.is>
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>